2014-01-07 6 views

답변

0

스테이지의 중간과 관련하여 x/y 값을 확인하기 위해 조건문을 사용하면 쉽게 할 수 있습니다. if 문을 사용하면 submarine.x (무비 클립)가 stage.stageWidth/2 (스테이지의 동적 너비가 반으로 줄었습니다)와 같은지 확인할 수 있습니다. 그것을 멈추기 위해서는 잠수함의 속도가 무엇이든간에 빼십시오.

코드는 다음과 같습니다

if(submarine.x == stage.stageWidth/2){ 
submarine.x -= submarineSpeed; 
} 

submarineSpeed은 잠수함이 방법에 의해 이동하는 속도입니다.

오른쪽 키를 누르고 있으면 잠수함이 프레임 당 5 픽셀 오른쪽으로 이동하지만 스테이지의 중앙에 맞으면 프레임 당 5 픽셀을 빼기로합니다. 좌우로 5 프레임 이동하기 때문에 움직이지 않습니다.

0

상한 및 하한 변수 (minYmaxY)를 설정하여이 작업을 수행하면 키 누르기 이벤트 리스너에서 MovieClip을 이동할 때 현재 y이 한계를 초과하는지 확인하십시오. 한계를 초과 한 경우 y을 가장 가까운 값으로 설정하십시오.

잠수함 엠씨의 등록 포인트에 따라 약간 다른 제한을 사용해야 할 수도 있습니다. 예를 들어 등록 포인트가 이미지의 맨 위에 있으면 maxY이 무대 높이에서 MovieClip 높이를 뺀 값이됩니다. submarineMC을 자신의 변수 이름으로 변경해야합니다.

var minY:Number = 300; //Set to half the height of your stage 
var maxY:Number = 600; //Set to your full stage height 

//Inside your keypress event listener, after setting the new y... 
if (submarineMC.y > maxY) submarineMC.y = maxY; 
else if (submarineMC.y < minY) submarineMC.y = minY;