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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.03.2011, 14:41
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 11  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Например addChild , tabIndex ... да много всяких. а оставить только x,y,z например.

Старый 16.03.2011, 14:52
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 12  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
возможно автору и не требуется его на сцену добавлять
Да. Отличный выходит класс отображения, если его нельзя отобразить =)

Цитата:
Второй вариант - объект таки является "чистым" UI, но при этом не хочется, чтобы были видны детали реализации. В этом случае спасают функции:
Тут есть 2 варианта
1) Предоставить геттер для того, вокруг чего мы делаем обертку. Это явно пахнет бессмысленностью
2) Возвращать при каждом запросе новый экземпляр DO, сформированный исходя из данных в обертке. Но это нифига не экономно и идеологически криво.
__________________
...вселенская грусть

Старый 16.03.2011, 14:55
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 13  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ну вот вроде как можно убрать из автокомплита ненужные методы / свойста / события с помощью метатега [Exclude(name=, kind=)]
Только я вот сейчас тыкаюсь и ничего не получается.. Может кто подскажет как его правильно применять?

Старый 16.03.2011, 14:58
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 14  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
http://nondocs.blogspot.com/2007/04/...taexclude.html

Если ничего не выходит - значит ide просто его не воспринимает :-)
__________________
Блог, Twitter
Брюзга.

Старый 16.03.2011, 15:12
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 15  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
FlexBuilder 2 / 4. Не работает (не исключаю что делаю что-то не так). Создал новый ActionScript Project и добавил класс с эксклудами:
Код AS3:
package
{
	[Exclude(name="someMethodC", kind="method")]
	[Exclude(name="somePropertyA", kind="property")]
 
	public class SomeClassA
	{
 
		public function SomeClassA()
		{
		}
 
		public function get somePropertyA():Number
		{
			return 0.0;
		}
 
		public function someMethodA():void
		{
 
		}
 
		public function someMethodB():void
		{
 
		}
 
		public function someMethodC():void
		{
 
		}
	}
}
далее в мейне пишу:
Код AS3:
var a:SomeClassA = new SomeClassA();
a.|;
И тут в автокомплите показаны все методы и свойства. Т.е ничего не исключилось...

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Как по мне — единственное верное перекрытие метода было в LoaderInfo, dispatchEvent. Возможно верное — в Loader. Я бы вообще не наследовал его от DisplayObject. По поводу Security RTE по обращению к content, но не обращению к Loader, конечно, путаница: но ведь от BitmapData#draw летит ошибка, без явного обращения к content. Это, кстати, приводит нас к выводу о рекурсивном поиске детей при снятии изображения; надо будет перекрыть content, выводя trace... Займусь, у меня как раз зреет статья "Самые бессмысленные и бесполезные факты и трюки".
Но оба этих случая, в принципе, можно назвать оправданными. Перекрытие функционала ради полного избавления от возможной ошибки или хака (чего бы стоил диспатч Event.COMPLETE в LoaderInfo!).
А какая потребность в Вашем случае связывать руки себе?

Старый 16.03.2011, 15:34
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 17  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Тут есть 2 варианта
1) Предоставить геттер для того, вокруг чего мы делаем обертку. Это явно пахнет бессмысленностью
Правильно. Зачем получать из display object то, что именно он отображает? Мы же хотим "DisplayObject", а не что-то более сложное. Геттер там не нужен, подписку на события и все остальное будет делать тот, кто создал себе этот объект. Хочет - будет хранить ссылку на экземпляр. Не хочет - может выкинуть данные и использовать только UI.

Цитата:
2) Возвращать при каждом запросе новый экземпляр DO, сформированный исходя из данных в обертке. Но это нифига не экономно и идеологически криво.
Из метода? Да, новый экземпляр. Временем жизни управляет тот, кто вызвал метод "реднеринга" данных. Хочет - пусть кэширует UI и больше не вызвает метод createSomeUI(). Хочет - пусть вызывает и создает новый экземпляр. Экономия здесь ни при чем до тех пор, пока профайлер не покажет, что лишнее создание объектов таки является источником тормозов. Иначе кэширование - это как раз потенцильно лишние проблемы (со временем жизни и т.п.). В чем идеологическая кривость - не понятно. Более того, а если мы хотим отобразить в нескольких местах UI для одних и тех же данных, что делать?

На всякий случай поясню, что createSomeUI() - это не функция обертки. Это либо "свободная" функция (без привязки к классу), либо статическая функция в хелперах. Правильная сигнатура createUIFor(someData : DataForUI) : DisplayObject. Так что я не понимаю, о какой обертке идет речь. В моем примеер её нет. Есть данные, UI и функция из данных в их UI (новый экземпляр).

Старый 16.03.2011, 15:48
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 18  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Если так хочется
Цитата:
связывать руки себе
, то можно использовать интерфейс, в котором будут только нужные вам методы.
Код AS3:
public interface IContainer
{
    function get x():Number;
}
public class Container
    extends Sprite
    implements IContainer
{
}
 
public class EntryPoint
{
...
var container:IContainer = new Container();
}

Старый 16.03.2011, 15:55
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 19  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Это либо "свободная" функция (без привязки к классу), либо статическая функция в хелперах
Код AS3:
public function createSomeUI() : DisplayObject {
  return new SomeUI();
}
Цитата:
Так что я не понимаю, о какой обертке идет речь. В моем примеер её нет
Судя по приведенному коду - она там есть. Сложно было понять Вас телепатически =)

По сути, при таком раскладе someData - это модель данных. Соответственно, создаваемый UI - это объект, который зависит от этих данных. Я не вижу смысла делать createUIFor, т.к. у меня может быть несколько вьюх, каждая из которых зависит от различных данных одной и той же модели. И в каждой из этих вьюх я перекрою те методы, которые считаю лишними. Но сделать что-либо универсальное в таком духе - на мой взгляд не получится. Либо это будет неудобно и не "code less, do more"
__________________
...вселенская грусть

Старый 16.03.2011, 16:21
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 20  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
у меня может быть несколько вьюх, каждая из которых зависит от различных данных одной и той же модели
Так у меня тоже может быть несколько таких методов. createSomeViewFor(data), createAnotherViewFor(data), createThirdView(data). Если нужно - внутри будут использовать наследование. Но это - маловероятно. Вероятнее, они будут использовать какие-то общие методы для отображения частей данных/построения стандартных элементов интерфейса. Наследование различных view друг от друга практически ничего не дает (ну, за исключением пары строк кода для привязки к одной и той же модели).

Ну или для переноса функции в библиотеку под каждую такую функцию заводится свой интерфейс и при необходимости пишутся адаптеры. Там без специальных интерфейсов уже никак, так как данные разные будут.

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

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

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


 


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


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