Здравствуйте многоуважаемые Гуру!! У меня такая ситуация: есть персонаж(волк) он нарисован в двух символах 1 когда волк стоит(stopwolf) 2 когда волк шагает(gowolf), захотел я значит его научить ходить с помощью клавиш влево вправо, но так как я ещё зелен во флеше то он при запуске клипа открывает и первого и второго волка и ещё при движении оставляет шлейф в виде предыдущего нажатия(тоесть я нажал волк перескочил на новое место, но на предыдущем тоже остаётся символ волка) ,а мне хотелось чтобы он при нажатии клавиш влево вправо ходил а когда я отпускаю клавиши он останавливался(тоесть чтобы появлялся 1 символ), а получилась какая-то фигня) Подскажите пожалуйста как это реализовать и где у меня ошибки!!
вот код:Код |
var leftPressed:Boolean = false; var rightPressed:Boolean = false; var stopwolf1:Stopwolf = new Stopwolf(); addChild(stopwolf1); stopwolf1.x = 250 stopwolf1.y = 680 var gowolf1:Gowolf = new Gowolf(); addChild(gowolf1); gowolf1.x = 250 gowolf1.y = 680 var speed = 15; gowolf1.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey); stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed); stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed); function fl_MoveInDirectionOfKey(event:Event) { if (leftPressed && !rightPressed) //если нажата только(!) левая клавиша - шагаем влево { gowolf1.x -= 5; gowolf1.gotoAndStop (2) } else if (rightPressed && !leftPressed) //если нажата только(!) правая клавиша - шагаем вправо { gowolf1.x += 5; gowolf1.gotoAndStop (2) } else // если не нажата ни одна из клавиш или нажаты обе одновременно - стоим { gowolf1.gotoAndStop (1) } } function fl_SetKeyPressed(event:KeyboardEvent):void { switch (event.keyCode) { case Keyboard.LEFT: { leftPressed = true; break; } case Keyboard.RIGHT: { rightPressed = true; break; } } } function fl_UnsetKeyPressed(event:KeyboardEvent):void { switch (event.keyCode) { case Keyboard.LEFT: { leftPressed = false; break; } case Keyboard.RIGHT: { rightPressed = false; break; } } }
|
Добавлено через 9 минут и 28 секунд Даже не так, он постоянно выводит на сцену символ gowolf, и получается такая каша из волков |