У меня есть направление и кнопка спринта. Я хочу, чтобы это произошло: , пока кнопка спринта удерживается, игрок перемещается в два раза быстрее. Затем, когда кнопка спринта отпускается, игрок должен продолжать ходить с обычной скоростью. Однако происходит то, что игрок останавливается, когда кнопка спринта отпускается, хотя кнопка направления все еще удерживается.As3 Touch События, затрагивающие друг друга
public function addControllerListeners(){
controller.leftButton.addEventListener(TouchEvent.TOUCH_ROLL_OVER, moveCharLeft);
controller.leftButton.addEventListener(TouchEvent.TOUCH_BEGIN, moveCharLeft);
controller.leftButton.addEventListener(TouchEvent.TOUCH_END, playerStop);
controller.leftButton.addEventListener(TouchEvent.TOUCH_OUT, playerStop);
controller.leftButton.addEventListener(TouchEvent.TOUCH_ROLL_OUT, playerStop);
sprintButton.addEventListener(TouchEvent.TOUCH_ROLL_OVER, playerSprint);
sprintButton.addEventListener(TouchEvent.TOUCH_BEGIN, playerSprint);
sprintButton.addEventListener(TouchEvent.TOUCH_END, playerStopSprint);
sprintButton.addEventListener(TouchEvent.TOUCH_OUT, playerStopSprint);
sprintButton.addEventListener(TouchEvent.TOUCH_ROLL_OUT, playerStopSprint);
}
public function playerSprint(e:Event = null) {
playerChar.sprint = true;
trace("Player Sprint");
}
public function playerStopSprint(e:Event = null) {
playerChar.sprint = false;
trace("stopSprinting");
}
public function moveCharLeft(event:TouchEvent):void{
playerChar.setWalk("left");
}
public function playerStop(event:TouchEvent):void {
var target:String = event.target.name;
if(target == "upButton" || target == "rightButton" || target == "downButton" || target == "leftButton"){
trace("Player Stopped from: " + event.target.name + " - " + event.currentTarget.name);
playerChar.direction = "idle";
}
}
Трассировка в функции остановки плеера говорит, что имя цели зависит от того, какая кнопка контроллера удерживается. Несмотря на то, что кнопка отпускания - кнопка спринта.
Если это помогает кнопкам добавить на сцену. Я не думаю, что это должно измениться, но вы никогда не знаете.
Обычно я не добавляю слушателей «вверх», пока не запускается прослушиватель «вниз», а затем я удаляю его в следующем «вверх». –
Спасибо, я прошу попробовать. –