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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2012, 15:22
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 11  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
А вообще, скорость работы "выключенного" и "исключенного" объектов сильно зависит от реализации рендера и от некоторых честных случаев.

Добавлено через 6 минут
Цитата:
Сообщение от CyberDude Посмотреть сообщение
Будет ли объект оставаться на сцене если visible = false?
Да.

Цитата:
Сообщение от CyberDude Посмотреть сообщение
Будет ли он дальше кушать ресурсы?
Зависит от того, как устроен нативный рендер. Вполне себе может.
__________________
Поймай яблоко 2!

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

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

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
В случае с картой думаю правильнее использовать addChild / removeChild

Карта может быть огромной, и создавать её нужно динамически.
__________________
adobe AS3 manual

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Согласен с strangedk, для карты лучше удалять объекты со сцены.
Но сейчас попробовал маленький тест на 10,000 объектов, и вариант с visible работает быстрее. Хотя так скорее всего израсходуется больше памяти. Потому что помню, как в советах от Adobe, говорили что лучше всё же удалять объекты.
Код AS3:
package 
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
	import flash.events.Event;
 
	/**
	 * ...
	 * @author Samana
	 */
	public class Main extends Sprite 
	{
		private var box:Box;
		private var map:Vector.<Box> = new Vector.<Box>();
		private var onStage:Boolean = true;
 
		public function Main():void 
		{
			addChild(new FPS()).x = 600;
			// create boxes
			for (var i:int = 0; i < 100; i++) 
			{
				for (var j:int = 0; j < 100; j++) 
				{
					box = new Box();
					box.x = j * 5;
					box.y = i * 5;
					addChild(box);
 
					map.push(box);
				}
			}
			//event
			stage.addEventListener(Event.ENTER_FRAME, stage_enterFrame);
		}
 
		private function stage_enterFrame(e:Event):void 
		{
			for (var i:int = 0; i < map.length; i++) 
			{
				if (onStage)
				{
					removeChild(map[i]); // max 15 fps
					//map[i].visible = false; // max 20 fps
				}
				else
				{
					addChild(map[i]);
					//map[i].visible = true;
				}
			}
			onStage = !onStage;
		}
 
	}
 
}

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Если это карта (трасса) для 2D гонок, то в большинстве случаев можно предполагать что назад игрок ехать не будет.

Крайне разумно удалять элементы карты которые уже проехали, и новые подгружать также динамически.

visible здесь явно не тот метод

Добавлено через 3 минуты
Причем, если используется box2D - то его элементы также следует удалять/добавлять по мере необходимости. А не все сразу.
__________________
adobe AS3 manual

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

Теги
AS3 , visible
Опции темы
Опции просмотра

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

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


 


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


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