카테고리 없음

비어있어야 할 공간에 이상한 이미지가 로딩됨

hyuckkim 2021. 7. 10. 22:20

발견 :

타일 시스템을 만들고 여러번 갈아엎다 어느 순간부터 나타나기 시작했다.

 

찾아본 부분 : 

저 타일들의 지형 정보가 이상하게 입력되는가 하고 지형 대입하는 쪽을 찾아보았다. 이상 X.

지형 정보에 그림을 대입할 때 잘못 대입하는가 하고 그림 삽입하는 쪽을 찾아보았다. 이상 없음.

클릭해서 그 지형의 정보를 로그로 찍는 기능을 만들어서 사용해봤다. 비어있는 타일로 정보는 제대로 나온다.

 

문제 : 

newline.push(new Block(Terrain.wallij)); newline.push(new Block(Terrain.wallji)); 로 썼다.

new Block() 생성자의 인수로 x좌표와 y좌표를 거꾸로 주고 있었다.

 

왜 문제였는가 : 

다른 지형은 거의 무작위로 그려지지만 벽을 그릴 때는 자기 왼쪽, 오른쪽과 왼쪽 아래, 오른쪽 아래를 참조한다.

생성자에서 입력한 x좌표, y좌표를 사용하는데 이게 거꾸로 된다면 (8, 4) 가 (4, 8)로 대신 나오는 식이다.

실제로는 양쪽이 모두 벽이므로 검은색으로 꽉 찬 그림이 들어가야 하지만 좌표가 바뀌어 양쪽에 땅이 있다고 인식하는 것이다.

또한 처음에 테스트할 때는 정사각형 모양이라서 x좌표와 y좌표를 바꿔도 양 쪽이 모두 땅이거나 양 쪽이 모두 벽이므로 티가 별로 나지 않았다.