• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

안녕하세요 복사가 되는 버그가 발생했습니다ㅠㅠ

22.09.04 18:28 작성 조회수 281

2

도형을 배치시키면 위에 복사가 되서 2개씩 올라가지는 버그가 발생했습니다ㅠㅠ어디 부분에서 발생하는지 모르겠습니다..

 

동영상이 안올라가서 n드라이브에 올린걸 첨부하겠습니다!

 

http://naver.me/FkdG4Vew

 

 

답변 6

·

답변을 작성해보세요.

0

skagns852님의 프로필

skagns852

질문자

2022.10.30

안녕하세요

 

StageController.CS에서 IsGameOver()메소드가 제대로 작동하지않는거 같아서요ㅠㅠ

image

 

image

게임 재생시 더이상 놓을곳이없으면 디버그 찍었던 게임오버가 작동해야하는데 작동하지를 않습니다..ㅠㅠ

게임오버와 관련된 부분들을 차근히 살펴보시기 바랍니다.

StageController.IsGameOver()에서

blockArrangeSystem.IsPossibleArrangement()를 호출하고 있기 때문에

거기서 문제가 발생했을 수도 있습니다.

IsPossibleArrangement()에는 수식도 많기 때문에 +, -나 수치 등을 확인해보시고,

IsGameOver()에서 각 구역마다 Log()를 찍어 확인해보거나 하는 방법으로

살펴보시면 원인을 발견할 수 있습니다.

0

답글을 달아드렸다고 생각했는데 안달려있었네요

첫 번째 사진과 같이 현재 Null 에러가 발생하는 BlockArrangeSystem.cs의

backgroundBlocks 배열을 확인해보니 비어있습니다.

image

찾아보니 BackgroundBlockSpawner.cs에 코드 한줄이 빠져있어

화면에 보이도록 생성은 하지만 반환되는 값이 없어 null이 떴습니다.image

두 번째 사진과 같이 BackgroundBlockSpawner.cs에 코드를 추가하면 정상 실행됩니다. [PPT 110 참고]

skagns852님의 프로필

skagns852

질문자

2022.10.30

오 해결되었습니다!! 정말 감사합니다ㅎㅎ

0

skagns852님의 프로필

skagns852

질문자

2022.10.24

답변이 계속 없으셔서 다시 답변 남깁니다..

혹시 확인이 되시나요..?

0

skagns852님의 프로필

skagns852

질문자

2022.09.24

고박사님이 말씀하신부분이랑 영상 처음부터 다시 따라가보면서 해봐두 에러는 계속 뜨네요ㅠㅠ

패키지 첨부 해드리겠습니다..한번 봐주실수있을가요..?

 

http://naver.me/5Lo4QPBd

네이버클라우드로 올렸습니다!

0

skagns852님의 프로필

skagns852

질문자

2022.09.17

안녕하세요 고박사님 또다른 버그가 발생해서 콘솔창에 뜨는데 이것은 왜 발생하는 버그일가요?ㅠㅠ

콘솔창과 스크립트 첨부 하겠습니다!1.png

 

2.png3.png

지금 발생한 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개씩 중첩해서 생성되는건지

하나씩 살펴보는 방법 밖에 없을 것 같습니다

 

제가 공유해드린 스크립트와 내용을 비교하면 잘못 작성된 내용을

더 쉽게 찾을 수는 있을 것 같습니다.