Войти
ПрограммированиеФорумВеб

[AS3] Реализация очередь.

#0
14:02, 6 фев. 2012

Понадобилось возможность реализовать нечто похожее на очередь (первым  пришло первым ушло).
Как вариант рассматриваю массив и функции которые бы следили за его заполнением.

Но нет ли во флеше чего-нить по принципу динамической очереди работающего, так чтобы после удаления элемента из начала вся очередь сдвигалась?


#1
14:13, 6 фев. 2012

Линкед лист?
Из массивов/векторов тоже можно первый элемент удалять.

#2
14:18, 6 фев. 2012

ryzed
> Линкед лист?
Посмотрю
ryzed
> Из массивов/векторов тоже можно первый элемент удалять.
И будет проходить переиндексация всего массива? те 1-ый станет 0-ым Оо после удаления 0-его

#3
14:18, 6 фев. 2012

у массивов и векторов есть методы для удаления и вставки. со сдвигом конечно.

метод .splice();
и для вставки .push()
другими не пользвался. но есть там. рор и шифт

#4
14:19, 6 фев. 2012

ИПавлов
> у массивов и векторов есть методы для удаления и вставки. со сдвигом конечно.
Не знал однако, не было повода копаться по массивам так как всё работало и с моими знаниями...

#5
14:21, 6 фев. 2012

тогда сразу вектор

делает так.
public var GGBITS:Vector.<BitmapData>=new Vector.<BitmapData>();
у вектора задаётся класс. виктор быстрее массива.

ну я не знаю что можно во флэшэ делать без масивов.

#6
14:26, 6 фев. 2012

Ну мне банально хранить несколько команд, вернее даже несколько текстовых строчек

Просто при отправки данных на сервер текущее действие у меня записывается в переменную, чтобы по приходу данных с сервера, он знал как их обработать. Но при этом имеется таймер поддержки подключения (на серве запрогил, что если сокет открыт но минуту с него трафика нет то он его закрывает, но саму игровую сессию пока сохраняет, ну и попутно он обновляет всякую инфу, для синхронизации отображения с сервером).

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

Вот думал, что организовать очередь небольшую, в которой складировать команды и только после обработки сдвигать их на следующую

ПрограммированиеФорумВеб

Тема в архиве.