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

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

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

Регистрация: Apr 2018
Сообщений: 2
Question Обработчик событий кнопок

Здравствуйте.
Делала по меню по видеоуроку, но, видимо из-за того, что урок устарел, у меня показывает данную ошибку:

Warning: 1090: Ошибка миграции: Flash Player не запускает обработчик событий onRelease автоматически во время выполнения в ActionScript 3.0. Сначала нужно зарегистрировать этот обработчик для события, используя addEventListener ("click", callback_handler).

В принципе понятно, что нужно вставить обработчик. НО! Раннее я так же пыталась сделать две кнопки и при добавлении обработчика второй кнопки при запуске тестирования приложения у меня просто игнорировались ВСЕ команды - кадры летели один за другим и не желали читать код.
Именно поэтому я решила начать с азов и делать все по науке, но столкнулась с данной проблемой.
1. Подскажите, как добавить обработчики для всех кнопок, находящихся кадре без конфликтов.
Вот мой код:
Код AS3:
btn_startgame.onRelease=function()
{
gotoAndPlay("Game");	
}
btn_about.onRelease=function()
{
gotoAndPlay("About");	
}
2. И еще вопрос. Возможно отпадет при ответе на первый. В одном из кадров я добавила код, в котором переход между кадрами осуществляется только по щелчку мыши.
Код AS3:
stop();
 
addEventListener(MouseEvent.CLICK, fl_ClickToGoToNextFrame);
 
function fl_ClickToGoToNextFrame(event:MouseEvent):void
{
	nextFrame();
}
Этот код влияет на все последующие кадры, и не важно есть ли там какие-то скрипты или нет.
На одном из кадров мне нужно остановить подобные переходы и добавить две кнопки, переходящие к другим сценам. Я сделала это так (только для одной естественно, потому что не знаю как решить проблему с двумя обработчиками):


Код AS3:
stop();
 
 
function fl_ClickToGoToScene(event:MouseEvent):void
{
	MovieClip(this.root).gotoAndPlay(1, "2блок");
}
Но переход между кадрами по щелчку мыши все так же продолжает действовать и плевать ему на кнопки. Нужно как-то остановить этот обработчик? Как?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
"По науке" надо учиться писать код в Классах, а не на временной шкале ("в кадрах").
Цитата:
Нужно как-то остановить этот обработчик? Как?
Код AS3:
removeEventListener(MouseEvent.CLICK, fl_ClickToGoToNextFrame);
Цитата:
не знаю как решить проблему с двумя обработчиками
Код AS3:
btn1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene1);
btn2.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene2);
__________________
Reality.getBounds(this);

Старый 25.04.2018, 07:03
JuSi619 вне форума Посмотреть профиль Отправить личное сообщение для JuSi619 Найти все сообщения от JuSi619
  № 3  
Ответить с цитированием
JuSi619

Регистрация: Apr 2018
Сообщений: 2
Цитата:
Сообщение от Wolsh Посмотреть сообщение
"По науке" надо учиться писать код в Классах, а не на временной шкале ("в кадрах").
Интересно, я такое в первый раз слышу. Преподаватель больше дизайнер, чем программист и ничего толком не объяснила как делать. Большое спасибо, сегодня все попробую.

Старый 25.04.2018, 10:34
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 4  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
кровь из глаз....
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 25.04.2018, 13:05
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 5  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Помотрите вот урок, о том, как программировать в классах. Может, вам поможет.
__________________
while(live()) { hope(); }

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

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

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


 


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


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