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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.11.2009, 15:12
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 31  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Эммм. Создаю клип с анимацией --> кидаю на сцену --> запускаю --> правой кнопкой выбираю show redraw regions. Вуаля.

Старый 12.11.2009, 15:49
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 32  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
Цитата:
Сообщение от switcher! Посмотреть сообщение
я бы тоже посмотрел пример с клипами, с visible = false -)
Цитата:
Сообщение от Волгоградец Посмотреть сообщение
Эммм. Создаю клип с анимацией --> кидаю на сцену --> запускаю --> правой кнопкой выбираю show redraw regions. Вуаля.
разница не чувствуется? Сдается мне, вы при ответе "вырвали" из контекста одну из моих фраз в предыдущих постах и не вникли в тему.

Старый 12.11.2009, 15:57
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 33  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Вы говорите про спрайты, я про клипы.

upd.: проверил. Фактической перерисовки не происходит, о чем говорит стабильный ФПС при добавлении 1000 клипов с visible = false. Вывод: show redraw regions обманывает.


Последний раз редактировалось Волгоградец; 12.11.2009 в 16:11.
Старый 12.11.2009, 16:57
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 34  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
У клипов есть кадры, которые меняются. Он меняет кадр, на этом перерисовка оканчивается.

Тех, кто для удаления использует try, catch - мне не понять. Он работает очень медленно, это раз. И два - какой должна быть структура кода, чтобы везде отлавливать ошибки?

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Эммм. Создаю клип с анимацией --> кидаю на сцену --> запускаю --> правой кнопкой выбираю show redraw regions. Вуаля.
а visible=false клипу присваиваешь?
Цитата:
Вы говорите про спрайты, я про клипы.
я тоже про клипы...неважно что - все то же самое, никаких redraw regions если visible=false
__________________
freelance | Раздор

Старый 13.11.2009, 22:19
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 36  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от Artic Посмотреть сообщение
почему не лучший способ ? собственно всегд волновал вопрос нормального удаления контейнера перед его пересозданием и выходом нашел, name, собственно работает без ошибок, недостатков кроме задания каждому контейнеру name, нету или я ошибаюсь ?
Мне кажется, getChildByName() должен работать медленнее, чем contains(). Может, я ошибаюсь, но, в любом случае, дополнительное использование имён не придаёт коду ни стройности, ни понятности. А лучшие, по моему мнению, варианты, выглядят так (кстати, выше о них уже упоминали):

Код AS3:
//ранее obj, возможно, уже был создан, и (также возможно) добавлен в контейнер
//container здесь указывает на контейнер, в который добавляем объект (если код
//находится в контейнере, то this)
if (obj && container.contains(obj)) container.removeChild(obj);
obj = new Sprite();
container.addChild(obj);
или

Код AS3:
//ранее obj, возможно, уже был создан, и (также возможно) добавлен в контейнер
//container здесь указывает на контейнер, в который добавляем объект (если код
//находится в контейнере, то this)
if (obj && obj.parent) obj.parent.removeChild(obj);
obj = new Sprite();
container.addChild(obj);
Ошибок никогда не возникнет ни в первом, ни во втором случаях. Если, конечно, obj имеет тип DisplayObject =)

Старый 13.11.2009, 23:07
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 37  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Цитата:
Сообщение от derhab Посмотреть сообщение
очень интересно)) а у меня нет
можно пример?
show redraw regions очень хорошо демонстируют, что что-то там происходит (по крайней мере у меня)
может быть, действительно, это не сильно напрягает флешплеер..

вообще show redraw regions довольно странно отображал у меня наследников SimpleButton..
Вложения
Тип файла: zip RedrawRegions.zip (288.0 Кб, 41 просмотров)

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
SamFR, всё же код несколько разный. Второй вариант 100% удалит из дисплей листа (хотя я бы parent перекастовал всё же), а в первом никто не гарантирует, что container - это родитель.

Старый 14.11.2009, 20:13
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 39  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Ну я и не говорил, что они абсолютно идентичны) Поэтому и привёл тут как первый, так и второй вариант.

А вот зачем перекастовывать parent, понять не могу. Мы же предполагаем, что obj имеет тип DisplayObject, а у него свойство parent имеет тип DisplayObjectContainer, и приведение тут просто незачем. Если же obj может не быть DisplayObject-ом, то мы, скорее всего, где-то ошиблись в проектировании структуры программы. И, в любом случае, простая перекастовка тут не поможет – либо вылетит ошибка (если свойства parent у объекта нет), либо приведение даст null, если свойство имеет несовместимый с DisplayObjectContainer тип. И, опять же, вылетит ошибка, так как мы попытаемся обратиться к методу нуля.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Ох, точно... DisplayObjectContainer. Почему то взбрендело в голову, что просто DisplayObject. Да, SamFR, Вы правы, перекастовывать не нужно.

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

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

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


 


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


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