Показать сообщение отдельно
Старый 18.12.2007, 19:32
VovkaMorkovka вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka Найти все сообщения от VovkaMorkovka
  № 1  
Ответить с цитированием
VovkaMorkovka

Регистрация: Apr 2006
Сообщений: 421
По умолчанию Возможно - ли соревнование потоков в ActionScrip 3.0

Привет всем, возникла такая проблема:
Реализую игру в которой использую модель - вид - контроллер. В модели есть стек со снарядами, при появлении снаряда в модели она генерит соответствующее событие, и при взрыве(удалении снаряда) так же.
Снаряд создается по нажатию клавиши(выстрел). Вид слушает события создания и удаления и соответственно по созданию создает мувиклип - снаряд добавляет его на стейдж и запихивает элемент в HashMap.
Потом в процессе полета с использованием итератора из этой хешмапы снаряда пересчитываются высоты, пересчет происходит в ф ции updateView(), которая реагирует на событие апдейта.
Так вот, когда модель удаляет снаряд и генерирует событие, вид это событие подхватывает и удаляет вид снаряда из стейджа и из своего стека, но проблема в том, что ф - ция вида - updateView() считает, что мувиклип - снаряд все еще не удален

Это сайт с которог скачивал структуры данных, HasMap использую

Код:
//Ф - ция отображаеые обьекты объекты по возрастанию глубины
		private function sortDepth():void{
			var commonArray:Array=new Array();
			
			commonArray=commonArray.concat(containerOfCubes);
			commonArray.push(playerView);
			commonArray=commonArray.concat(containerOfCreaturesView.toArray());
			commonArray=commonArray.concat(this.containerOfCartriges);			
			commonArray=commonArray.concat(this.containerOfShellsView.toArray());
			commonArray=commonArray.concat(this._containerOfMortarShells.toArray());
			
			commonArray.sort(sortAccordingIsometry,Array.NUMERIC);
			
			for (var i:Number=0;i<commonArray.length;i++){
				setChildIndex(commonArray[i],SetParameters.START_DEPTH+i);
			}
			//Снаряды поверх всего, поэтому они добавляются последними
			//setChildIndex(_mortarShellMC,SetParameters.START_DEPTH+commonArray.length);
			
		}
Вот так сортирую высоты

Зараннее благодарен,
Владимир
Владимир


Последний раз редактировалось VovkaMorkovka; 18.12.2007 в 19:40.