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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.04.2010, 18:51
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 1  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
А зачем событиям всплывать?

Старый 13.04.2010, 19:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А зачем событиям всплывать?
Для удобства.
Вообще, под древовидной моделью я имел в виду не просто ссылки у родителя, а именно список детей и методы, схожие с методами DisplayObjectContainer.

Старый 13.04.2010, 19:52
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Для удобства.
Гм, ну понятное дело что не в ущерб )
Я к тому что если есть подписка, например
Код AS3:
model.cameraModel.addEventListener("Обновление__angleData",func);
То зачем событию всплывать, чтобы его можно было поймать через
Код AS3:
model.addEventListener("Обновление__angleData",func);
Или я опять не о том?
Цитата:
Вообще, под древовидной моделью я имел в виду не просто ссылки у родителя, а именно список детей и методы, схожие с методами DisplayObjectContainer.
Гм, а я подумал о том, что предложил Котяра. Можно пример абстрактный тогда?

Старый 13.04.2010, 21:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Можно пример абстрактный тогда?
Код AS3:
var container:DataContainer = new DataContainer();
var data:Data = new Data();
container.addChild(data);
container.addChild(new MegaData());
container.addChild(new ItemData());

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
То зачем событию всплывать, чтобы его можно было поймать через
Код AS3:
model.addEventListener("Обновление__angleData",func);
Или я опять не о том?
Я имел ввиду именно, то.
У меня тоже древовидная структуру, только в отличии от etc - я не делал аналог DisplayObject с addChild и.т.п.
У меня просто в конструкторе модели - передаётся ссылка на парент (которую, в принципе можно и сменить потом, но мне пока ни разу не понадобилось.)

Код AS3:
 model.submodel = new Submodel(model);
// вернее чаще так
в классе модели:
submodel = new Submodel(this);
причём основную модель я пару-раз делал ребёнком контроллера - тогда все события модели доходят до контроллера всплытием.
пример : слушаем смерть землянина:
в контроллере
Код AS3:
model.addUpdateFieldListener(HumanModelField.IS_DEAD,removeHuman);
 
public function removeHuman(e:ModelEvent)
{
var deadHumanModel:HumanModel = e.target as HumanModel;
var isDead :Boolean= e.field;
if(isDead )
{
//удаляем подмодель  из модели
// удаляем вид связанный с моделью
// прочеее
}
}
т.е. тут контроллеру не надо подписывать на события модели каждого человека. он просто слушает все сообщения о смерти)
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 15.04.2010 в 11:07.
Старый 13.04.2010, 21:55
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Да, это я понял, я немного о другом спрашиваю.
Ну вот отталкиваясь от примера, что ты мне написал:
Код AS3:
container.getDataAt(0)
В чем плюсы перед обычным объектом?
Код AS3:
var obj:Object={megaData: new MegaData()};
И почему была принята политика называть методы схоже с DisplayObjectContainer`ом?

Старый 13.04.2010, 22:14
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Хм..
То есть примерно для таких нужд?
Код AS3:
var mc:SomeMovieClip=new SomeMovieClip();
mc.addChild(new OtherMovie());
(mc.getChildAt(0) as OtherMovie).model=bigModel.getModelAt(0);
Если да, то в голове пока что не укладывается удобство от такого "удобства".

Старый 13.04.2010, 22:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нет, имеется ввиду, что, например, вместе с событием REMOVED элемента модели удалится и вьювер, отображающий данный элемент. К примеру, в обычном List.

Старый 13.04.2010, 22:56
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Ааа, и удалив модель земного шара мы удалим одним махом и модели всех землян вместе с вьюшками. Теперь стало понятно, спасибо )

Старый 14.04.2010, 17:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нет, я имел ввиду удаление одного землянина с земли одновременно с удалением оного из базы данных.

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

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

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


 


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


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