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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.03.2012, 00:50
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 11  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Спасибо

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Код AS3:
var filtersArr:Array = [_shadow, _blur];
mc.filters = filtersArr;
trace(mc.filters == filtersArr); // false !
Да, у него не только клонирующий сеттер, но и клонирующий геттер.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Все гораздо хуже, Артём...
Код AS3:
var filtersArr:Array = [_shadow, _blur];
mc.filters = filtersArr;
trace(mc.filters[0] == _shadow); // false
В массиве из геттера ссылки не на исходные экземпляры фильтров. То есть не только экземпляр массива другой, сами фильтры были заново созданы где-то в глубинах подсознания ФП.
__________________
Reality.getBounds(this);

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
А как он должен был отразиться? Если ты скопировал и назначил обратно то же, что и было?
Не тоже. Изначально были назначены настройки по умолчанию, затем в фильтре изменили значение distance, т.е. тень, которая была сразу под объектам должна отодвинуться значительно в вышеуказанном примере. Этого не происходит, ни если следовать примеру Inet_PC-а, ни dimarik-а.
Совет Silicium-а интересен, но предполагается другой уровень абстракции. Код должен работать с тем что дают, а не использовать то, что есть.
Возвращаясь к 1му посту, если занести во временную переменную значение mc.filters, затем mc.filters назначить null и потом ему присвоить ранее помещенное во временную переменную значение - результата все равно нет.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Может, Вам перечитать тему еще раз? Вдумчиво, например.

Добавлено через 8 минут
Обратите внимание на два блока кода выше на этой странице. Вдумайтесь в результаты трейса. Поймите, что DisplayObject не хранит ссылки на ваши фильтры в своем свойстве filters. После передачи ваших фильтров объекту вы можете менять их как угодно, можете их вообще удалить – ничего не изменится. А запросив "обратно" массив filters из объекта, Вы получите другой массив со ссылками на другие объекты, о которых Вы вообще ничего не знаете, которых никогда сами не создавали и в которых изменить ничего не могли.
__________________
Reality.getBounds(this);

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

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Все гораздо хуже, Артём...
Код AS3:
var filtersArr:Array = [_shadow, _blur];
mc.filters = filtersArr;
trace(mc.filters[0] == _shadow); // false
В массиве из геттера ссылки не на исходные экземпляры фильтров. То есть не только экземпляр массива другой, сами фильтры были заново созданы где-то в глубинах подсознания ФП.
Кэп намекает на BitmapFilter#clone()

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Код должен работать с тем что дают
Ну допустим устроить всем наследование не от Спрайта а от FilteredSprite тяжело или вообще неосуществимо. Но композицию-то сделать не проблема? Просто поместить объект внутрь FilteredSprite, в такой вот дизайнерский wrapper-декоратор, отвечающий за фильтрацию.
Ну либо как-то научиться запоминать, кому какие фильтры назначали. Почему это невозможно?
__________________
Reality.getBounds(this);

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Wolsh, спасибо, что носом ткнул, это бывает очень полезно.
Странное поведение, по ходу действительно там клоны.

PS. wrapper-декоратор, отвечающий за фильтрацию, очень может быть.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

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

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


 


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


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