Ich versuche ein Platformer-Spiel zu erstellen und ich versuche "Player1" zu stoppen, wenn es eine "Plattform" trifft. hier ist mein Code so weit,hitTestObject Kollisionserkennung funktioniert nicht in 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;
}
}
jedoch die hitTestObject Funktion (enterframehandler) nicht richtig funktioniert und wird die „else“ Route immer nehmen.
bitte helfen!
können Sie weitere Informationen liefern? weil es für mich funktioniert. Ich habe einen MovieClip namens player1 und einen Brick namens platform erstellt, der den Treffer erkennt. – Allan