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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.06.2012, 18:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 441  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от dimarik Посмотреть сообщение
Ну а если юзер сменится? Нужен апдейт по детям тогда.
Не сменится
А если и сменится, это в любом случае произойдёт в результате ADDED/REMOVED, т. е. заведомо более важного события. Самим ассетам отслеживать момент смены не нужно, просто незачем.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
UserData вполне себе может быть IUserAsset, кстати. И UserData#user может указывать, например, на персонажа текущего пользователя. Лишняя проверка убирается.

Добавлено через 1 минуту
ADDED/REMOVED еще продиагностировать нужно, от кого пришло. А если глубина вложенности большая, то только и будешь определять target.parent с currentTarget
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 28.06.2012 в 18:25.
Старый 28.06.2012, 18:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 443  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от dimarik Посмотреть сообщение
UserData вполне себе может быть IUserAsset, кстати. И UserData#user может указывать, например, на персонажа текущего пользователя. Лишняя проверка убирается.
Персонаж это персонаж, а юзер это юзер. Последний ассетом самого себя не может быть.
ADDED/REMOVED слушают и диагностируют те, кому это нужно, просто в любом случае смена юзера означает изменение контейнера, а значит в представлении точно также поменяется отображаемый контейнер и это будет уже другой вьювер.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
this._user.contains(this) при глубоком (IUserAsset находится в энном колене) и широком (обладатель этого ленивого геттера находится на тысячной позиции) дереве будет чутка тормозить.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от dimarik Посмотреть сообщение
this._user.contains(this) при глубоком (IUserAsset находится в энном колене) и широком (обладатель этого ленивого геттера находится на тысячной позиции) дереве будет чутка тормозить.
В модели таких вложенностей не бывает.

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

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

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от etc Посмотреть сообщение
Персонаж это персонаж, а юзер это юзер. Последний ассетом самого себя не может быть.
ADDED/REMOVED слушают и диагностируют те, кому это нужно, просто в любом случае смена юзера означает изменение контейнера, а значит в представлении точно также поменяется отображаемый контейнер и это будет уже другой вьювер.
А я разве сказал, что this._user ассет самого себя? Он ассет кого надо ассет. Какого-то юзеря. Может текущего персонажа. Удобно с текущим пером меряться. Он под рукой всегда.

Ну поменяется отображаемый контейнер, если ты сверху вниз на стадии смены контейнера пересеттишь этот ассет. Я не вижу смысла тут пользоваться прослушиванием ADDED/REMOVED

Цитата:
Сообщение от etc Посмотреть сообщение
В модели таких вложенностей не бывает.
Это по стандарту так?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А чем плохо сразу тянуть ссылку на основную модель, без этих заморочек?
Тем и плохо, что надо тянуть и не забыть.

Цитата:
Сообщение от dimarik Посмотреть сообщение
А я разве сказал, что this._user ассет самого себя? Он ассет кого надо ассет. Какого-то юзеря. Может текущего персонажа. Удобно с текущим пером меряться. Он под рукой всегда.
Димка, я чето не понимаю, на каком языке ты разговариваешь. Юзер — это пользователь. Всё, что к нему относится — его ассеты и ему на него ссылку и вообще находятся в нём. В том числе и персонажи. Но как может быть юзер ассетом персонажа, я не очень понимаю.

Цитата:
Сообщение от dimarik Посмотреть сообщение
Ну поменяется отображаемый контейнер, если ты сверху вниз на стадии смены контейнера пересеттишь этот ассет. Я не вижу смысла тут пользоваться прослушиванием ADDED/REMOVED
Речь шла о том, что отслеживать смену юзера самому ассету незачем, т. к. есть более важные события, которые следуют в результате смены юзера, например тот же ADDED/REMOVED. И если их слушают во вьювере, этого достаточно, чтобы обновить данные в соответствии с новыми условиями и юзером.

Цитата:
Сообщение от dimarik Посмотреть сообщение
Это по стандарту так?
В контексте модели, обсуждаемой в этой теме, да. А в целом, при такой вложенности я не уверен, что вообще необходимо делать такие элементы ассетами кого-либо, если вообще имеет смысл держать такое в модели.


Последний раз редактировалось etc; 28.06.2012 в 18:49.
Старый 28.06.2012, 19:09
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 449  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Тем и плохо, что надо тянуть и не забыть.
Главная модель для меня всегда находится в вершине иерархии. Если композит моделей перенести на дисплей обджект, то это stage / root, ссылка тянется самой структурой.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Главная модель для меня всегда находится в вершине иерархии. Если композит моделей перенести на дисплей обджект, то это stage / root, ссылка тянется самой структурой.
А, я думал про «тянуть» имелось ввиду передавать вниз по иерархии. Если имеется ввиду сразу дергать линк, то ничего плохого в этом нет, кроме бесполезно потраченного времени.

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

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

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


 


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


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