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

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

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

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

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Сообщение от etc Посмотреть сообщение
Прототип — описание характеристик сущности. Своего рода класс сущности.
А для чего он может понадобится?

Старый 28.06.2012, 17:28
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 3  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Ага, спасибо. Только что такое "ленивый геттер" ?

А еще вот в swiz, была такая фишка, всё что попадает на сцену проижектывается автоматом. С этой фичей мы избавляемся от маппинга, но за то приобретаем плюся ДИ. Может быть такую систему можно заюзать для того что бы дочерние модели получали то что нужно?
__________________
ranga

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от incvizitor Посмотреть сообщение
Ага, спасибо. Только что такое "ленивый геттер" ?

А еще вот в swiz, была такая фишка, всё что попадает на сцену проижектывается автоматом. С этой фичей мы избавляемся от маппинга, но за то приобретаем плюся ДИ. Может быть такую систему можно заюзать для того что бы дочерние модели получали то что нужно?
Ну прям выдерну пример ленивого геттера:

Код AS3:
/**
 * @private
 */
private var _user:UserData;
 
public function get user():UserData {
	if (!this._user || !this._user.contains(this)) {
		this._user = null;
		var parent:DataContainer = super.parent;
 
		while (parent) {
			if (parent is IUserAsset) {
				this._user = (parent as IUserAsset).user;
				break;
			}
 
			if (parent is UserData) {
				this._user = parent as UserData;
				break;
			} 
 
			parent = parent.parent;
		}
	}
 
	return this._user;
}
Хотя в случае с глобальной моделью, уже инжект:

Код AS3:
/**
 * @private
 */
private var _universe:UniverseData;
 
public function get universe():UniverseData {	
	return this._universe;
}
 
[Exclude]
public function set $universe(value:UniverseData):void {
	if (this._universe == value) return;
	if (!value) this.removedFromUniverse();
	this._universe = value;
	if (value) this.addedToUniverse();
 
	if (this is DataContainer) {
		var dc:DataContainer = this as DataContainer;
		var num:int = dc.numChildren;
 
		while (num --> 0) {
			var child:Data = dc.getChildAt(num);
			if (child is IUniverseAsset) child['$universe'] = value;
		}
	}
}

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Зачем this._user = null?
Код AS3:
if (!this._user || !this._user.contains(this)) {
		this._user = null;
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от dimarik Посмотреть сообщение
Зачем this._user = null?
Код AS3:
if (!this._user || !this._user.contains(this)) {
		this._user = null;
Я от тебя такого вопроса не ожидал

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

Добавлено через 1 минуту
Цитата:
Сообщение от incvizitor Посмотреть сообщение
А почему бы просто не слушать DataBaseEvent.ADDED?
А зачем тратить на это время, если никто не обращается к геттеру?

Добавлено через 2 минуты
Цитата:
Сообщение от dimarik Посмотреть сообщение
И еще. Можно вышестоящим родителем сеттить user, если он у него есть, конечно. Т.е. не обращаться к родителю, а он все сам сделает.
Можно, но опять же, зачем тратить на это время, если юзер прям вот щас не нужен.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от etc Посмотреть сообщение
Можно, но опять же, зачем тратить на это время, если юзер прям вот щас не нужен.
Ну а если юзер сменится? Нужен апдейт по детям тогда.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от dimarik Посмотреть сообщение
Зачем this._user = null?
Код AS3:
if (!this._user || !this._user.contains(this)) {
		this._user = null;
А если выполняется вторая часть условия?

Старый 28.06.2012, 17:50
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 10  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
1 - Понял, спасибо.
2 - А почему бы просто не слушать DataBaseEvent.ADDED?
__________________
ranga

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

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

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


 


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


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