2013-12-10 2 views
0

온라인 자습서를 통해 간단한 타워 방어 슈팅 게임을 만들려고합니다. 튜토리얼은 문제를 해결하지 못합니다.무대에서 오브젝트 파괴하기

이 코드는 일단 발사 된 총알을 무대에서 제거 하겠지만 총알은 무대의 위쪽이나 왼쪽을 통과 할 때만 제거됩니다.

제 생각에 stageWidth/Height은 위쪽과 왼쪽을 처리하고 <0은 아래쪽과 오른쪽을 처리합니다. 나는 문제가 될만한 것을 볼 수 없다. 스테이지의 하단이나 오른쪽면에서 왜 작동하지 않는지 누구나 알 수 있습니까?

if (bullet.x < 0 || bullet.x > stage.stageWidth || bullet.y < 0 || bullet.y > stage.stageHeight){ 
      bullet.removeEventListener(Event.ENTER_FRAME, moveBullet); 
      bullet.parent.removeChild(bullet); 
      bullet = null; 
      } 
+0

(0,0) 왼쪽, (무대 .stageWidth, stage.stageHeight)는 오른쪽 하단, btw입니다. – Esaevian

+0

매우 알아두면 유용합니다. Ty – Rith

답변

0

총알의 좌표계는 반드시 스테이지의 것과 같습니다. 스테이지 또는 어쩌면 다른 무비 클립에 연결되어 있습니까?

내가 디버깅을 건의 할 것, 또는 추적 문을 추가하는 것은 무엇 총알의 좌표를 확인하고 응해 stageWidth 및 높이가 위의 코드에하기 :

trace("bullet.x="+bullet.x+", stage.stageWidth="+stage.stageWidth); 
+0

흔적이 나에게 어떤 일이 일어나고 있는지를 보여주었습니다. 그 총알이 파괴되고 있음을 알았지 만, 무대가 아래쪽과 오른쪽의 창문 가장자리로 확장되어 있었기 때문에 나는 그걸 말할 수 없었다. 무리 감사 – Rith

관련 문제