2017-04-25 16 views
1

안녕하세요. 저는 현재 Adobe Flash Professional CS6에서 게임을 만들고 있습니다. 인스턴스 이름이 "외계인"인 캐릭터가 있습니다. 지금까지는 게임을 코딩 할 수 있었기 때문에 외계인이 무대의 상단이나 좌측에서 벗어날 수 없었습니다. 외계인이 무대의 아래쪽이나 오른쪽으로 벗어날 수 없도록 코드를 작성하는 방법을 알 수 없습니다. 내가 가지고있는 코딩은 다음과 같습니다 :화살표 키를 통해 이동하는 움직이는 물체를 Adobe Flash Professional CS6 액션 스크립트 3.0에서 무대에서 벗어나는 것을 멈추는 방법

if((alien.x) < (alien.width/2)){ 
     alien.x += 10; 
} 
if((alien.y) < (alien.width/2)){ 
     alien.y += 10; 
} 

감사합니다.

답변

2

사용 stage.stageWidthstage.stageHeight 값은 스테이지 영역의 크기를 결정합니다. 직사각형을 사용하는 것은 필수 사항이 아니지만 자명하다는 것이 좋습니다.

import flash.geom.Rectangle; 

// new Rectangle(left, top, width, height) 
var aBounds:Rectangle = new Rectangle(
    alien.width/2, 
    alien.height/2, 
    stage.stageWidth - alien.width, 
    stage.stageHeight - alien.height 
); 

if (alien.y < aBounds.top) alien.y = aBounds.top; 
if (alien.x < aBounds.left) alien.x = aBounds.left; 
if (alien.x > aBounds.right) alien.x = aBounds.right; 
if (alien.y > aBounds.bottom) alien.y = aBounds.bottom;