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

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

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Question Пулы. Оптимизация. Использование в коде

Ребят нужна помощь, как работать с пулами? * http://ilia64.com/as3/patterns/object-pool/ и * http://help.adobe.com/ru_RU/as3/mobile/WS948100b6829bd5a6-19cd3c2412513c24bce-8000.html Мне совсем не понятно как использовать пул. Допустим я делаю игру, и уровни строю путем добавления нового экземпляра в массив, позже все удаляю
Код AS3:
addChild(enemie_1 = new Bot_01( 3 , 1 , 'g' , 0 ));
			enemie_1Arr.push(enemie_1);
В экземпляр класса Bot_01 нужно передать аргументы, как это будет выглядеть с использованием пула?
И, еще, да, конечно к сотням ботов я добавлю пул, а нужен ли он в мелких деталях, таких как спецэффекты, при этом их тоже будет как минимум несколько сотен (при постоянных добавлениях/удалении)
Вообщем, ребят, помогите пожалуйста, расскажите как использовать пул?

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

Регистрация: Feb 2012
Сообщений: 1,540
Код AS3:
// конструктор
public function Bot_01(a:Some, b:Some, c:Some, d:Some) {
    initialize(a, b, c, d);
}
 
public function initialize(a:Some, b:Some, c:Some, d:Some):void {
    // тут вы (пере)создаете ваш объект
}
То есть если вы хотите использовать объект заново, вы его должны переинициализировать, вызвав функцию initialize.

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Дело в том, что я пока еще СОВСЕМ не понимаю как использовать пул

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

Регистрация: Feb 2012
Сообщений: 1,540
Это обычный массив использованных объектов.
То есть при удалении объекта со сцены ты добавляешь его в пул (pool.push(obj)).
А потом по надобности берешь (pool.shift()).

UPD: поправил Pool


Последний раз редактировалось MikroAcse; 29.05.2014 в 01:00.
Старый 28.05.2014, 23:29
zCHESNOKz вне форума Посмотреть профиль Отправить личное сообщение для zCHESNOKz Посетить домашнюю страницу zCHESNOKz Найти все сообщения от zCHESNOKz
  № 5  
Ответить с цитированием
zCHESNOKz
 
Аватар для zCHESNOKz

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от MikroAcse Посмотреть сообщение
Это обычный массив использованных объектов.
То есть при удалении объекта со сцены ты добавляешь его в пул (pull.push(obj)).
А потом по надобности берешь (pull.shift()).
Хорошо, тогда у меня возникает вопрос о Сбросе всех свойств объекта, как с этим быть? Что бы потом с пула вынуть чистенький объект

Добавлено через 4 минуты
Можно самый простенький пример использования пула?

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

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

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

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

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от SuriTheAngel Посмотреть сообщение
PHP код:
pull 
По-моему, не pull, а pool(от англ. бассейн или "общий фонд", который вариант перевода более актуален для данной ситуации).
А нельзя как вариант просто брать объекты из некого статического массива и попросту их по окончанию использования не удалять?

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

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

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

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от SuriTheAngel Посмотреть сообщение
Ну, в статьях по вашим ссылкам довольно простым языком всё расписано.
Попробуйте перечитать и переосмыслить.
Если спрашиваю как пользоваться пулом , значит, то что там написано не до понимаю, и хочу узнать у тех, кто пользуется пулами, как все происходит

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

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

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


 


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


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