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

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

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от LifeIsRhythm Посмотреть сообщение

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

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
По моему, самый лучший пример в статье по вашей ссылке.
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 33
Размер:	38.5 Кб
ID:	30918  
__________________
There is no thing in this world that is not simple.

Старый 29.05.2014, 00:35
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 13  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
Удалил свое сообщение, так-как по ссылкам не ходил, а там оказывается все подробно описано.
Вот только с этой строчкой несогласен -
Код AS3:
pool.unshift( new className() );
И ещё с -
Код AS3:
public function ObjectPool(className:Class, length:uint = 1)
Вместо className:Class лучше типизированную фабрику передать.

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

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
Кто то вообще этим пользуется?
Все, кому не лень писать пул. Это очень важная часть каждого большого приложения.
И, по-моему, вы просто сами не хотите понять что это, это называется лень.

Старый 29.05.2014, 01:07
zCHESNOKz вне форума Посмотреть профиль Отправить личное сообщение для zCHESNOKz Посетить домашнюю страницу zCHESNOKz Найти все сообщения от zCHESNOKz
  № 15  
Ответить с цитированием
zCHESNOKz
 
Аватар для zCHESNOKz

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от MikroAcse Посмотреть сообщение
Все, кому не лень писать пул. Это очень важная часть каждого большого приложения.
И, по-моему, вы просто сами не хотите понять что это, это называется лень.
Я не могу понять как потом использовать каждое отдельное значение пула, то есть массива[i] и как при этом присваиваются имена переменных к этим объектам. Не могу заметить связь

То есть на каждый Класс создается ссылка на экземпляр в каждом значении пула(массива) /ИСПОЛЬЗОВАНИЕ/ -> достаем ссылку, присваиваем нужные свойства экземпляру, пользуемся, обнуляем свойства(делаем чистый экземпляр), каким то образом ложим обратно ссылку в массив (пул) и все? Весь принцип?

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

Регистрация: Feb 2012
Сообщений: 1,540
Берешь и делаешь, ничего сложного.
Это обычный массив.

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Создаётся впечатление, что у господина zCHESNOKz какие-то пробелы в знаниях языка, а не простое непонимание пулов.
__________________
There is no thing in this world that is not simple.

Старый 29.05.2014, 08:50
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 18  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Когда-нибудь посещали столовую? Там на входе лежит стопка с подносами, видели? Так вот эта стопка - пул (подносов). Взяли поднос, использовали, протерли тряпочкой, положили обратно. Что непонятного?

Старый 29.05.2014, 09:41
zCHESNOKz вне форума Посмотреть профиль Отправить личное сообщение для zCHESNOKz Посетить домашнюю страницу zCHESNOKz Найти все сообщения от zCHESNOKz
  № 19  
Ответить с цитированием
zCHESNOKz
 
Аватар для zCHESNOKz

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Когда-нибудь посещали столовую? Там на входе лежит стопка с подносами, видели? Так вот эта стопка - пул (подносов). Взяли поднос, использовали, протерли тряпочкой, положили обратно. Что непонятного?
Та понял. Хорошо, а как потом использовать каждое отдельное значение пула? Допустим я взял циклом из пула вытащил 100 экземпляров некого класса. Что дальше? сделать еще основной массив в котором я буду присваивать значения пула массиву[i] ? Вот это не ясно

Добавлено через 5 минут
Код AS3:
for (var i:int; i < 5; i++)
	{
		var = pool.getObject(Class) as Class;
		Array.push(var);
		var.x = i;
		var.y = i;
		addChild(var);
        }
Добавлено через 8 минут
ап: добавляем объекты

Добавлено через 14 минут
Код AS3:
 
for (var i:int; i < arr.length; i++)
{
		if(arr[i])
	{
               removeChild(arr[i]); 
               pool.releaseObject(Class, var); // ложим в пул
               destroy(arr[i]);
	}
}
 
function destroy(var:Object)
{
       var.property = var.PROPERTY // обнуление екземпляра
}
ап: удаляем объекты

так?


Последний раз редактировалось zCHESNOKz; 29.05.2014 в 09:56.
Старый 29.05.2014, 10:41
gyfak вне форума Посмотреть профиль Отправить личное сообщение для gyfak Найти все сообщения от gyfak
  № 20  
Ответить с цитированием
gyfak

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
В вашем вопросе такие хорошие ссылки, все разжевано, только прочитай.
Как объяснить лучше, даже не знаю.
Простейший пул, это массив.
Код AS3:
var myArray:Array=[];
for (var i:int; i < 5; i++)
	myArray.push(new Object);
Пул готов. У вас есть массив с созданными объектами.

Код AS3:
//положили объект на сцену
addChild(arr[arr.length-1])
//он отработал, мы его убираем со сцены
removeChild(arr[arr.length-1])
Все.

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

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

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


 


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


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