2015-01-14 1 views
0

여기까지 내 코드입니다, 나는 아래로 자동차 게임을 만들려고 노력하고 있으며, 지금까지 가지고있는 코드입니다, 나는 현재 자동차를 루프에 넣으려고 노력하고 있습니다. 그러나 나는 그것을 할 길을 찾는데 어려움을 겪고 있습니다. 코드를 사용하여 나를 도와 주시거나 미리 알려 주시기 바랍니다.AS3이 오브젝트를 끝없이 반복하는 방법은 무엇입니까?

import flashx.textLayout.utils.CharacterUtil; 당신이 자동차 @onekidney 짐작으로 화면 상단에 위치를 얻을하려는 경우

var result:Number = Math.random() * 100 
var randomX:Number = Math.random() * stage.stageWidth 
var background = new Background; 
var char = new Char(); 
var car1 = new Car1(); 
var car2 = new Car2(); 
var car3 = new Car3(); 
var car4 = new Car4(); 


car1.x = Math.random()* stage.stageWidth; 
car2.x = Math.random()* stage.stageWidth; 
car3.x = Math.random()* stage.stageWidth; 
car4.x = Math.random()* stage.stageWidth; 
background.x = 200; 
char.x = 700/2; 

car1.y = -0; 
car2.y = -150; 
car3.y = -300; 
car4.y = -450; 
background.y = 200; 
char.y = 450; 

addChild(background); 
addChild(char); 
addChild(car1); 
addChild(car2); 
addChild(car3); 
addChild(car4); 

char.gotoAndStop("car"); 

addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler); 

function fl_EnterFrameHandler(event:Event):void 
{ 
    car1.y +=12; 
    car2.y +=12; 
    car3.y +=12; 
    car4.y +=12; 
} 


stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_PressKeyToMove); 

function fl_PressKeyToMove(event:KeyboardEvent):void 
{ 
switch (event.keyCode) 
{ 
case Keyboard.RIGHT: 
{ 
char.x += 15; 
if (char.hitTestObject(barrier1)) 
{ 
char.x -=15 ; 
} 
break; 
} 
case Keyboard.LEFT: 
{ 
char.x -= 15; 
if (char.hitTestObject(barrier2)) 
{ 
char.x +=15 ; 
} 
break; 
} 
} 
} 
stage.addEventListener(Event.ENTER_FRAME, detectCollision); 
function detectCollision(event:Event) { 

     if(char.hitTestObject(car1)) 
     { 
     char.gotoAndStop("boom"); 
     } 
     if(char.hitTestObject(car2)) 
     { 
     char.gotoAndStop("boom"); 
     } 
     if(char.hitTestObject(car3)) 
     { 
     char.gotoAndStop("boom"); 
     } 
     if(char.hitTestObject(car4)) 
     { 
     char.gotoAndStop("boom"); 
     } 

} 
+0

루프의 모듈러스 연산자에 대해 좀 더 구체적으로 말할 수 있습니까? 자동차가 화면 하단으로 계속 진행되는 것처럼 보입니다. 바닥에 충돌했을 때 상단에서 위치를 변경하고 싶습니까? – onekidney

답변

0

, 쉽게 % 연산자를 사용하여 그렇게 할 수 있습니다 :

function fl_EnterFrameHandler(event:Event):void 
{ 
    car1.y = (car1.y + 12) % stage.stageHeight; 
    car2.y = (car2.y + 12) % stage.stageHeight; 
    car3.y = (car3.y + 12) % stage.stageHeight; 
    car4.y = (car4.y + 12) % stage.stageHeight; 
} 

당신은 자세한 내용을보실 수 있습니다 documentation

+0

감사합니다.이 코드는 저에게 효과적입니다. – Hayden

관련 문제