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

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

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

Регистрация: Feb 2014
Сообщений: 192
По умолчанию вопрос по интервалам в enterframe

У меня вопрос в обработчике события MouseEvent.CLIK я зарегистрировал другой слушатель по событию EnterFrame. Флеш простая - кликаю мышкой - анимация вспышки из автомата и вылетает пуля, но если часто кликать, то вылетает допустим три пули и происходит 1 вспышка. У меня вопрос, как сделать так, чтобы вспышка и вылет пули происходили в один момент.

Код AS3:
function mC(e:MouseEvent):void
{
 
	var pulya:Pulya = new Pulya(); 
	pulya.x = men.x
	pulya.y = men.y
	addChild(pulya); 
	pulya.addEventListener(Event.ENTER_FRAME, polet_puli);
	men.avtomat.play(); // анимация вспышки автомата
}
 
function polet_puli(e:Event):void
{
	var pulya:Pulya = e.currentTarget as Pulya;
	pulya.x +=  skorost_puli;
 
}

Старый 24.04.2014, 02:32
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 2  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Можно создавать каждый клик экземпляр мувика с вспышкой, но это жутко неоптимизировано.
Хотя проще будет заменить play() на gotoAndPlay(1);
__________________
There is no thing in this world that is not simple.

Старый 24.04.2014, 03:07
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Создаете отдельный класс, в котором будет только ентерФрейм и массив.
Создаете отдельный класс вспышки и пуль. Кликнули мышкой и дОбавили в массив класса еФ
вспышку и пулю. Класс еФ видит, что в его массиве есть элементы и начинает последовательно
вызывать метод move в этих классах. Вспышка получит определенное кол-во тиков от еФ и сообщит классу
еФ что его пора удалять из массива. Класс еФ удаляет вспышку, но проигрывает пулю, пока та не сообщит об удалении.


Последний раз редактировалось Akopalipsis; 24.04.2014 в 03:31.
Старый 24.04.2014, 03:16
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 4  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
дабавили
Проще уже дАбавлять вспышку на клике, и при окончании проигрывания убирать со сцены(может быть даже изнутри вспышки, как вам будет ближе для понимания).
__________________
There is no thing in this world that is not simple.

Старый 24.04.2014, 11:15
Dmitriy154 вне форума Посмотреть профиль Отправить личное сообщение для Dmitriy154 Найти все сообщения от Dmitriy154
  № 5  
Ответить с цитированием
Dmitriy154

Регистрация: Feb 2014
Сообщений: 192
gotoAndPlay(2) сработало, но как синхронизировать не вспышку к частому клику, а наоборот, чтобы пуля не могла вылететь до того, как закончиться анимация вспышки. Спасибо!

Старый 24.04.2014, 11:34
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
отписываться от клика пока не закончится вспышка, или отключать саму реакцию на мышь.
__________________
Reality.getBounds(this);

Старый 24.04.2014, 11:41
Dmitriy154 вне форума Посмотреть профиль Отправить личное сообщение для Dmitriy154 Найти все сообщения от Dmitriy154
  № 7  
Ответить с цитированием
Dmitriy154

Регистрация: Feb 2014
Сообщений: 192
Цитата:
Сообщение от Wolsh Посмотреть сообщение
отписываться от клика пока не закончится вспышка, или отключать саму реакцию на мышь.
Каким образом? Можете поподробней, отписаться как я понял, значит прописать в обработчике кадров removeEventListener(MouseEvent.CLICK,mC);
А где и как отключить реакцию на мышь.

Старый 24.04.2014, 15:51
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
А где и как отключить реакцию на мышь.
Я ж не знаю, кто у Вас клик слушает. Отрубить ему мышь: ктоТо.mouseEnabled = false; Как вспышка закончится, вернуть в true.
__________________
Reality.getBounds(this);

Старый 24.04.2014, 15:57
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 9  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
А зачем отключать реакцию на мышь, если вы уже отписались от события?
Что-то одно из двух - или то, или другое.
__________________
There is no thing in this world that is not simple.

Старый 24.04.2014, 17:06
Dmitriy154 вне форума Посмотреть профиль Отправить личное сообщение для Dmitriy154 Найти все сообщения от Dmitriy154
  № 10  
Ответить с цитированием
Dmitriy154

Регистрация: Feb 2014
Сообщений: 192
Спасибо!

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

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

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


 


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


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