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

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

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

Регистрация: Mar 2011
Сообщений: 4
Question Лучший способ назначения обработчиков событий для MoveClip в разных кадрах.

У меня есть приложение (Flash, AS 3) с несколькими табами. Каждый таб на отдельном Key Frame. На каждом табе есть контролы - текстовые области, кнопки и т.п. На них надо повесить обработчики событий.
Я пробовал так.

this.gotoAndStop(2);
trace(AddResource);//null
AddResource.addEventListener(MouseEvent.CLICK,AddRes);//error

Здесь AddResource - это кнопка fl.controls.Button, AddRes - функция.

Не работает, т.к. когда вызывается addEventListener AddResource еще null, не создан.

Я нашел 3 полу-решения
1. Я пробовал делать setTimeout - но его сложно подобрать, он разный будет. Да и задержка ненужная появляется.
2. Тут (http://stackoverflow.com/questions/1...-another-frame) предлагают поместить ВСЕ контролы на первый кадр, а ненужные сделать невидимыми. Мне это решение не нравится т.к. их тогда несколько дюжин будет на первом кадре, большая часть невидимая и как это поддерживать - непонятно.
3. Тут (http://stackoverflow.com/questions/3...nted-to-one-ob) советовали поместить код в Actons. Это мне тоже, честно говоря, не очень нравится - размазывать код по всем файлам проекта, хранить его не только в *.as

Как лучше решить эту проблему? Есть ли решение лучше? Или надо брать одно из этих трех?

Спасибо.

Старый 31.03.2011, 00:57
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 2  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
каждый таб - отдельный класс.
при смене таба делать addChild при этом убирая текущий
__________________
Отряд Котовскага

Старый 31.03.2011, 01:02
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Event.FRAME_CONSTRUCTED дождитесь после перехода.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 02.04.2011, 16:34
SirHally вне форума Посмотреть профиль Отправить личное сообщение для SirHally Найти все сообщения от SirHally
  № 4  
Ответить с цитированием
SirHally

Регистрация: Mar 2011
Сообщений: 4
Я добавил в конструкторе основного класса обработчик вида

Код AS3:
public function Main():void
{
....
        this.addEventListener(Event.FRAME_CONSTRUCTED, func);
}
и функцию

Код AS3:
public function func(e)
{
        trace("123");
}
Выдает ошибку

1119: Access of possibly undefined property FRAME_CONSTRUCTED through a reference with static type Class.

Я как-то не так работаю с эти событием?

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

Теги
Action script 3.0 , events , flash , moveclip
Опции темы
Опции просмотра

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

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


 


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


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