작성
·
392
2
도형을 배치시키면 위에 복사가 되서 2개씩 올라가지는 버그가 발생했습니다ㅠㅠ어디 부분에서 발생하는지 모르겠습니다..
동영상이 안올라가서 n드라이브에 올린걸 첨부하겠습니다!
답변 6
0
안녕하세요
StageController.CS에서 IsGameOver()메소드가 제대로 작동하지않는거 같아서요ㅠㅠ
게임 재생시 더이상 놓을곳이없으면 디버그 찍었던 게임오버가 작동해야하는데 작동하지를 않습니다..ㅠㅠ
0
0
고박사님이 말씀하신부분이랑 영상 처음부터 다시 따라가보면서 해봐두 에러는 계속 뜨네요ㅠㅠ
패키지 첨부 해드리겠습니다..한번 봐주실수있을가요..?
네이버클라우드로 올렸습니다!
0
지금 발생한 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
어느 부분에서 코드가 2번 실행되어 2개가 배치되는지 확인하려면
관련된 코드를 모두 살펴보는 방법밖에 없을 것 같습니다.
드래그 블록의 클릭을 종료했을 때 DragBlock.OnMouseUp()이 실행되는데
여기서 Try를 2번 하는 것인지?
아니면 애초에 드래그 블록이 2개씩 중첩해서 생성되는건지
하나씩 살펴보는 방법 밖에 없을 것 같습니다
제가 공유해드린 스크립트와 내용을 비교하면 잘못 작성된 내용을
더 쉽게 찾을 수는 있을 것 같습니다.
게임오버와 관련된 부분들을 차근히 살펴보시기 바랍니다.
StageController.IsGameOver()에서
blockArrangeSystem.IsPossibleArrangement()를 호출하고 있기 때문에
거기서 문제가 발생했을 수도 있습니다.
IsPossibleArrangement()에는 수식도 많기 때문에 +, -나 수치 등을 확인해보시고,
IsGameOver()에서 각 구역마다 Log()를 찍어 확인해보거나 하는 방법으로
살펴보시면 원인을 발견할 수 있습니다.