на самом деле я могу закончить этот код, но я неправильно понимаю аргументы и removeEventListener. У меня есть два кода, которые имеют одну и ту же цель, это мой первый код:
First Code :
public function walk(){
var bob:bob= new bob();
bob.x = 0;
bob.y = 300;
addChild(bob);
bobRun();
}
private function bobRun(){
bob.addEventListener(Event.ENTER_FRAME, animateBob);
}
private function animateBob(event:Event) {
if (bob.x <= 200){
bob.x += 2;
bob.gotoAndPlay(bob.currentFrame);
} else {
bob.gotoAndStop(1);
trace("bob.stop");
bob.removeEventListener(Event.ENTER_FRAME, animateBob);
}
}
Second code :
public function walk(){
var choose:boolean = false;
bobRun(0, 300, 200, 300);
}
private function bobRun(startX:Number, startY:Number, endX:Number, endY:Number){
bob.addEventListener(Event.ENTER_FRAME, function(e:Event):void{
startX = bob.x; startY = bob.y;
if (startX != endX || startY != endY){
choose = true;
if (startX < endX && startY > endY){
bob.x += 1;
bob.y -= 1;
} if (startX > endX && startY < endY){
bob.x -= 1;
bob.y += 1;
} if (startX == endX && startY > endY){
bob.y -= 1;
} if (startX == endX && startY < endY){
bob.y += 1;
} if (startX < endX && startY == endY){
bob.x += 1;
} if (startX > endX && startY == endY){
bob.x -= 1;
}
bob.gotoAndPlay(bob.currentFrame);
} else {
bob.gotoAndStop(1);
trace("bob.stop");
}
})
}
в первом коде я использую bob.removeEventListener(Event.ENTER_FRAME, animateBob); для удаления прослушивателя, и это работает нормально, но в первом коде я не могу использовать аргументы, такие как второй код < b>bobRun(startX:Число, startY:Число, endX:Число, endY:Число).
во втором коде я не могу удалить прослушиватель, как в первом коде bob.removeEventListener(Event.ENTER_FRAME, animateBob);, поэтому trace("bob.stop"); не могу остановиться на панели вывода, но я могу использовать аргументы.
Мне нужны аргументы и removeEventListener для создания моего проекта, поэтому, пожалуйста, помогите мне, ребята. :'(