![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2010
Сообщений: 187
|
Заранее извиняюсь за глупые вопросы, но все когда-то начинали. Надеюсь на понимание.
Итак. у меня есть зелёный кубик, который по нажатию кнопки мыши я хочу заставить прыгать на различную высоту. Прыжок совершается при отпускании кнопки, а когда кнопка зажата растёт сила прыжка. Я в самом начале процесса изучения AS3. Поэтому у меня пока вот что получилось: package { import flash.display.MovieClip; import flash.events.MouseEvent; public class Main extends MovieClip { public var hero:MovieClip; public var jump:int= 0; public function Main() { stage.addEventListener(MouseEvent.MOUSE_DOWN, KeyMouseOn); stage.addEventListener(MouseEvent.MOUSE_UP, KeyMouseOff); } private function KeyMouseOn(evt:MouseEvent):void { jump +=1; trace(jump); } private function KeyMouseOff(evt:MouseEvent):void { hero.y -= jump; hero.y += jump; jump = 0; } } } Видимо, событие срабатывает только единоразово при клике. Как мне подправить, чтобы это событие увеличивало счётчик jump до тех пор, пока я держу клавишу мыши зажатой? Вопрос 2: Когда я отпускаю клавишу мыши я хотел бы, чтобы кубик подпрыгивал на высоту, которую насчитал счётчик jump, но не скачком, а плавно анимировано. И потом возвращался бы на первоначальное место. Или, если это сложно реализовать, то как сделать попроще, чтобы он на небольшой момент времени перемещался наверх на величину jump и потом возвращался обратно на место. Тоесть, я хочу, чтобы это было заметно глазом, а сейчас у меня всё это происходит моментально и я не вижу, что мой кубик вообще куда-то прыгал. И вопрос 3: В правом верхнем углу экрана у меня динамическое поле, в котором я хотел бы отображать динамически значение jump. (см. вложение) В AS2 этому полю можно присвоить Variable в специальном окне и всё работало, а здесь это строка Variable не активна. Как такое реализуется в AS3 ? |
![]() |
Часовой пояс GMT +4, время: 21:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|