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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2012, 13:51
CyberDude вне форума Посмотреть профиль Отправить личное сообщение для CyberDude Найти все сообщения от CyberDude
  № 1  
Ответить с цитированием
CyberDude
[+3 31.07.12]
[+1 27.08.13]
 
Аватар для CyberDude

Регистрация: Mar 2011
Адрес: 48.434715,35.032285
Сообщений: 56
Отправить сообщение для CyberDude с помощью Skype™
Question Как работает visible?

Привет всем!
Раньше вот не задумывался а теперь стало интересно, как работает visible = false?
Насколько я знаю объект не только становится не видимым но также перестаёт перекрывать другие объекты, на него перестают реагировать MouseEvent.
То есть если я все правильно понимаю то:
Код AS3:
displayObject.visible = false;
тоже самое что и:

Код AS3:
displayObject.alpha = 0;
displayObject.mouseEnabled = false;
displayObject.mouseChildren = false;
Правильно? Или я что-то не так понял?
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них.

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
CyberDude
При alpha = 0; Объект остается на сцене, и флеш продолжает его отрисовывать. При visible = false; Объект не отрисовываеться вовсе.
__________________
Дети не должны знать о своих родителях

Старый 31.07.2012, 14:23
CyberDude вне форума Посмотреть профиль Отправить личное сообщение для CyberDude Найти все сообщения от CyberDude
  № 3  
Ответить с цитированием
CyberDude
[+3 31.07.12]
[+1 27.08.13]
 
Аватар для CyberDude

Регистрация: Mar 2011
Адрес: 48.434715,35.032285
Сообщений: 56
Отправить сообщение для CyberDude с помощью Skype™
Тоесть если я сделаю visible = 0 большому растровому объекту, подтормаживание флешки пропадёт (в гоночной игре используется огромная растровая карта, её перемещение вызывает подтормаживание)?
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них.

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Для больших карт лучше использовать какой нибудь графический движок. Не думаю что visible вас спасет. Так-как флеш плеер и так автоматически перестает отрисовывать объекты не попадающие в видимую часть экрана.
__________________
Дети не должны знать о своих родителях

Старый 31.07.2012, 14:48
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
CyberDude, написать вопрос 100% дольше, чем поставить visible = false и проверить. Другое дело, зачем тогда фон, если в игре он невидим.
Теперь об "огромной растровой карте". В идеале разрезать ее на "квадраты" и держать на сцене небольшие куски только видимого фона. Если это видится слишком сложной задачей, то хорошо бы использовать хотя бы scrollRect
__________________
Поймай яблоко 2!

Старый 31.07.2012, 14:48
CyberDude вне форума Посмотреть профиль Отправить личное сообщение для CyberDude Найти все сообщения от CyberDude
  № 6  
Ответить с цитированием
CyberDude
[+3 31.07.12]
[+1 27.08.13]
 
Аватар для CyberDude

Регистрация: Mar 2011
Адрес: 48.434715,35.032285
Сообщений: 56
Отправить сообщение для CyberDude с помощью Skype™
Цитата:
Сообщение от Tails Посмотреть сообщение
... флеш плеер и так автоматически перестает отрисовывать объекты не попадающие в видимую часть экрана.
Я не уверен что это так. Мне кажется отрисовываеться всё.

Добавлено через 10 минут
Цитата:
Сообщение от Zebestov Посмотреть сообщение
CyberDude, написать вопрос 100% дольше, чем поставить visible = false и проверить. Другое дело, зачем тогда фон, если в игре он невидим.
Теперь об "огромной растровой карте". В идеале разрезать ее на "квадраты" и держать на сцене небольшие куски только видимого фона. Если это видится слишком сложной задачей, то хорошо бы использовать хотя бы scrollRect
Именно так я и делаю, режу на куски. Для меня стало вопросом нужно ли делать removeChild или можно как-то по другому

Добавлено через 17 минут
Цитата:
Сообщение от Zebestov Посмотреть сообщение
CyberDude, написать вопрос 100% дольше, чем поставить visible = false и проверить.
Ув. вы читали вопрос?
Я спросил лишь про то как работает visible = false.
А чуть ниже уточнение от чего возник вопрос. Мало того, я хочу понять именно как работает а не поможет или нет.
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них.


Последний раз редактировалось CyberDude; 31.07.2012 в 15:07.
Старый 31.07.2012, 15:08
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 7  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
В самом общем случае операция изменения visible должна быть быстрее addChild/removeChild. Проведи тест на 10-100 тысячах операций, сравни.
__________________
Поймай яблоко 2!

Старый 31.07.2012, 15:15
CyberDude вне форума Посмотреть профиль Отправить личное сообщение для CyberDude Найти все сообщения от CyberDude
  № 8  
Ответить с цитированием
CyberDude
[+3 31.07.12]
[+1 27.08.13]
 
Аватар для CyberDude

Регистрация: Mar 2011
Адрес: 48.434715,35.032285
Сообщений: 56
Отправить сообщение для CyberDude с помощью Skype™
Цитата:
Сообщение от Zebestov Посмотреть сообщение
... visible должна быть быстрее addChild/removeChild ...
Вот за эту информацию вам спасибо! Я подозревал это но утверждать не мог
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них.

Старый 31.07.2012, 15:15
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 9  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от CyberDude Посмотреть сообщение
Ув. вы читали вопрос?
Я спросил лишь про то как работает visible = false.
Читал. Ты спросил:
Цитата:
Сообщение от CyberDude Посмотреть сообщение
Тоесть если я сделаю visible = 0 большому растровому объекту, подтормаживание флешки пропадёт ... ?
__________________
Поймай яблоко 2!

Старый 31.07.2012, 15:21
CyberDude вне форума Посмотреть профиль Отправить личное сообщение для CyberDude Найти все сообщения от CyberDude
  № 10  
Ответить с цитированием
CyberDude
[+3 31.07.12]
[+1 27.08.13]
 
Аватар для CyberDude

Регистрация: Mar 2011
Адрес: 48.434715,35.032285
Сообщений: 56
Отправить сообщение для CyberDude с помощью Skype™
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Читал. Ты спросил:
С целью узнать, будет ли отрисовываться дальше объект у которого visible = false. Если этот объект остаётся на сцене то visible = false не поможет, а нужно будет применять именно удаление чилдов.

Попробую поставить вопрос по другому:
Будет ли объект оставаться на сцене если visible = false? Будет ли он дальше кушать ресурсы?
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них.

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

Теги
AS3 , visible

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

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


 


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


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