Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 25.05.2010, 16:25
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 1  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
Question Прыжок зелёного кубика

Заранее извиняюсь за глупые вопросы, но все когда-то начинали. Надеюсь на понимание.

Итак. у меня есть зелёный кубик, который по нажатию кнопки мыши я хочу заставить прыгать на различную высоту.
Прыжок совершается при отпускании кнопки, а когда кнопка зажата растёт сила прыжка.
Я в самом начале процесса изучения AS3. Поэтому у меня пока вот что получилось:

Код 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;			
		}
	}
}
Вопрос номер 1: когда я нажимаю кнопку - значение jump увеличивается тольно на 1 и сколько бы я не удерживал кнопку мыши - это значение не растёт, как задумано.
Видимо, событие срабатывает только единоразово при клике. Как мне подправить, чтобы это событие увеличивало счётчик jump до тех пор, пока я держу клавишу мыши зажатой?

Вопрос 2: Когда я отпускаю клавишу мыши я хотел бы, чтобы кубик подпрыгивал на высоту, которую насчитал счётчик jump, но не скачком, а плавно анимировано. И потом возвращался бы на первоначальное место.
Или, если это сложно реализовать, то как сделать попроще, чтобы он на небольшой момент времени перемещался наверх на величину jump и потом возвращался обратно на место. Тоесть, я хочу, чтобы это было заметно глазом, а сейчас у меня всё это происходит моментально и я не вижу, что мой кубик вообще куда-то прыгал.

И вопрос 3: В правом верхнем углу экрана у меня динамическое поле, в котором я хотел бы отображать динамически значение jump. (см. вложение)
В AS2 этому полю можно присвоить Variable в специальном окне и всё работало, а здесь это строка Variable не активна. Как такое реализуется в AS3 ?
Вложения
Тип файла: zip 07.zip (6.0 Кб, 58 просмотров)

Создать новую тему   Часовой пояс GMT +4, время: 11:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.