나는 platformer 게임을 만들려고하고 있는데, "platform1"에 부딪 힐 때 "player1"을 멈추게하려고합니다. 여기에 지금까지 내 코드의 hitTestObject 기능 (enterFrameHandler)가 제대로 작동하지 않고 항상 "다른"경로를 취할 것입니다 그러나hitTestObject 충돌 감지가 as3에서 작동하지 않습니다!
gotoAndStop("gameStart");
import flash.display.MovieClip;
import flash.events.*;
import flash.ui.Keyboard;
import flash.ui.*;
import flash.utils.Timer;
import flash.events.TimerEvent;
player1.gotoAndStop("nothing");
//private var speed:Number = 0;
//private var maxspeed:Number = 4;
var myTimer:Timer = new Timer(10,0);
stage.focus = this;
player1.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
/*
myTimer.addEventListener(TimerEvent.TIMER,someFunction);
myTimer.start();
function someFunction(event:TimerEvent) {
player1.y += 2;
}
*/
function setup() {
stage.addEventListener(KeyboardEvent.KEY_DOWN, reactToArrowKeys);
}
setup();
function reactToArrowKeys(keyEvent:KeyboardEvent) {
if (keyEvent.keyCode == 37) {
if (player1.x > 0) {
player1.x -= 5;
}
} else if (keyEvent.keyCode == 39) {
if (player1.x < 700) {
player1.x += 5;
}
}
}
function enterFrameHandler(e:Event):void {
if (player1.hitTestObject(platform)) {
trace("hitting");
} else {
player1.y += 4;
}
}
이다.
도와주세요!
정보를 더 제공 할 수 있습니까? 그것이 나를 위해 일하기 때문에. player1이라는 MovieClip과 platform이라는 벽돌을 만들고 히트를 감지합니다. – Allan