-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
안녕하세요 복사가 되는 버그가 발생했습니다ㅠㅠ
22.09.04 18:28 작성 조회수 281
2
도형을 배치시키면 위에 복사가 되서 2개씩 올라가지는 버그가 발생했습니다ㅠㅠ어디 부분에서 발생하는지 모르겠습니다..
동영상이 안올라가서 n드라이브에 올린걸 첨부하겠습니다!
답변을 작성해보세요.
0
skagns852
질문자2022.10.30
안녕하세요
StageController.CS에서 IsGameOver()메소드가 제대로 작동하지않는거 같아서요ㅠㅠ
게임 재생시 더이상 놓을곳이없으면 디버그 찍었던 게임오버가 작동해야하는데 작동하지를 않습니다..ㅠㅠ
고박사
지식공유자2022.10.30
게임오버와 관련된 부분들을 차근히 살펴보시기 바랍니다.
StageController.IsGameOver()에서
blockArrangeSystem.IsPossibleArrangement()를 호출하고 있기 때문에
거기서 문제가 발생했을 수도 있습니다.
IsPossibleArrangement()에는 수식도 많기 때문에 +, -나 수치 등을 확인해보시고,
IsGameOver()에서 각 구역마다 Log()를 찍어 확인해보거나 하는 방법으로
살펴보시면 원인을 발견할 수 있습니다.
0
고박사
지식공유자2022.10.24
답글을 달아드렸다고 생각했는데 안달려있었네요
첫 번째 사진과 같이 현재 Null 에러가 발생하는 BlockArrangeSystem.cs의
backgroundBlocks 배열을 확인해보니 비어있습니다.
찾아보니 BackgroundBlockSpawner.cs에 코드 한줄이 빠져있어
화면에 보이도록 생성은 하지만 반환되는 값이 없어 null이 떴습니다.
두 번째 사진과 같이 BackgroundBlockSpawner.cs에 코드를 추가하면 정상 실행됩니다. [PPT 110 참고]
0
0
skagns852
질문자2022.09.24
고박사님이 말씀하신부분이랑 영상 처음부터 다시 따라가보면서 해봐두 에러는 계속 뜨네요ㅠㅠ
패키지 첨부 해드리겠습니다..한번 봐주실수있을가요..?
네이버클라우드로 올렸습니다!
0
고박사
지식공유자2022.09.20
지금 발생한 NullReference 에러는 클래스 변수가 비어있을 때 뜨는 에러입니다.
68줄이니 직전 줄인 67줄의 backgroundBlocks[]가 비어있다는 얘기입니다.
backgroundBlocks은 Setup() 메소드에서 설정해주고 있고,
Setup() 메소드는 StageController 스크립트의 Awake() 메소드에서 설정하고 있으니
이 코드들을 순차적으로 살펴보시면 될거에요
backgroundBlocks = new BackgroundBlock[blockCount.x * blockCount.y];
backgroundBlocks = foregroundBlockSpawner.SpawnBlocks(blockCount, blockHalf);
blockArrageSystem.Setup(blockCount, blockHalf, backgroundBlocks, this);
0
고박사
지식공유자2022.09.04
어느 부분에서 코드가 2번 실행되어 2개가 배치되는지 확인하려면
관련된 코드를 모두 살펴보는 방법밖에 없을 것 같습니다.
드래그 블록의 클릭을 종료했을 때 DragBlock.OnMouseUp()이 실행되는데
여기서 Try를 2번 하는 것인지?
아니면 애초에 드래그 블록이 2개씩 중첩해서 생성되는건지
하나씩 살펴보는 방법 밖에 없을 것 같습니다
제가 공유해드린 스크립트와 내용을 비교하면 잘못 작성된 내용을
더 쉽게 찾을 수는 있을 것 같습니다.
답변 6