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

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

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

Регистрация: Apr 2010
Сообщений: 137
По умолчанию Удаление объекта со сцены

Здравствуйте! Появилась проблема при удалении объекта со сцены (объект находится в массиве, хотя это, скорее всего, не важно). Код:
Код AS3:
private function collisions():void {
	for (var i = 0; i < Bullets.length; i++) {
		var temp:int; // temp в условии ниже будет равна номеру зомби в массиве, который столкнулся с пулей i
		if (Zombie.hitTestObject(Bullets[i])) { //проверка столкновения пули и зомби
			temp = knowzombi(i);
			trace("Попал");
			removeChild(Bullets[i]);
			Bullets.splice(i, 1);
			removeChild(Zombies[temp]);
			Zombies.splice(temp, 1);
		}
	}
}
Проблема в том, что во время игры, когда пуля сталкивается с зомби, сама пуля пропадает (удаляется из массива и со сцены без ошибок), а вот с зомби другая ситуация. Сама его картинка пропадает, но если стрельнуть в то место где стоял зомби ещё раз, то выдается ошибка:

Цитата:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display:isplayObjectContainer/removeChild()
at main/::collisions()
at main/::ef()
Т. е. получается, что зомби всё ещё не удалился (пуля опять сталкивается с ним и что-то пытается сделать), хотя с виду, кажется, что пропал.

Вопрос в общем, почему он не удаляется? Я так понимаю, что вызываю его не в том месте, но я понятия не имею как решить данную проблему, во флеше недавно.

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

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

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


 


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


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