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

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

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
При работе с партиклями, да и вообще с большим количеством объектов ( при z-сортировке например) mvc тоже не применяю - очень накладно. Лучше контроллером явно менять параметры видов.
Древовиная модель:
в твоем примере имеем что-то вроде:
Код AS3:
model {cameraModel{angleData,x,y},charModel1{data},charModel2{data}..,}
инициализация и подписка
Код AS3:
charView1.model = model
// тут уже можно по-разному организовать
model.addEventListener("Обновление_cameraModel",func);
model.addEventListener("Обновление_cameraModel_angleData",func);
model.cameraModel.addEventListener("Обновление__angleData",func);
 
model.charModel1.addEventListener("Обновление_data",func);
model.addEventListener("Обновление_charModel1_data",func);
события, соответственно, должны всплывать.
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 13.04.2010 в 18:20.
Старый 13.04.2010, 18:51
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 62  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

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

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

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

Старый 13.04.2010, 19:52
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 64  
Ответить с цитированием
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
  № 65  
Ответить с цитированием
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());

Старый 13.04.2010, 21:55
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 66  
Ответить с цитированием
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:06
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 67  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Чтобы обеспечить зеркальность структуры вьюверов и модели.

Старый 13.04.2010, 22:14
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 68  
Ответить с цитированием
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
  № 69  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

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

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

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

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

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

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


 


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


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