2014-04-01 2 views
0

저는 AS3을 처음 접했고 Flash 클래스 용으로 약간의 게임을 만들려고합니다. 나는 캐릭터가 등장 할 수 있도록 장면을 설정 했으므로, 그가 걸어 갈 때마다 화면에서 벗어나거나 그냥 멈춰야하는 물체의 상단에서 달리지 않고있다. 그래서 나는 그가 엣지를 칠 때 멈춰야하고, 특정 물체를 때릴 때 멈춰야합니다. 모든 물체는 별도의 레이어에 있으며 개별 무비 클립입니다. 지금까지 제가 가지고있는 코드가 있습니다.Flash CS6 AS3.0에서 게임 경계와 장벽 만들기

stop(); 

hero.gotoAndStop('still'); 

var Key:KeyObject = new KeyObject(stage); 

stage.addEventListener(Event.ENTER_FRAME,onenter); 

function onenter(e:Event):void { 
    if(Key.isDown(Key.RIGHT)){ 
     hero.x+=5; 
     hero.scaleX=.7; 
     hero.gotoAndStop('walking'); 
     }else if(Key.isDown(Key.LEFT)){ 
     hero.x-=5; 
     hero.scaleX=-.7; 
     hero.gotoAndStop('walking'); 
     }else if(Key.isDown(Key.UP)){ 
     hero.y-=5; 
     hero.gotoAndStop('walking'); 
     }else if(Key.isDown(Key.DOWN)){ 
     hero.y+=5; 
     hero.gotoAndStop('walking'); 
     }else{ 
      hero.gotoAndStop('still'); 
     } 
} 
if(hero.x > rightBound){ 
    GameScene.x += rightBound - player.x; 
    hero.x = rightBound; 
} 

어떤 도움이 필요합니까? 주요 영웅의 이름은 "영웅"이고 장면이 나오는 장면을 "GameScene"이라고합니다. 또한, 이것이 관련이있는 것 같지만, 주인공이 특정 물체에 닿으면 장면이 어떻게 변경 될까요? 정말 고마워!

답변

0

플레이어의 x/y가 특정 값보다 낮거나 높으면 코드를 실행할 수있는 if 문에 다른 조건을 추가하십시오.

예 : (Key.isDown (Key.UP)은 & & hero.y < 300) // 장벽이 y 인 경우 300

관련 문제