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

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

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

Регистрация: Sep 2008
Сообщений: 53
По умолчанию Программа выдает ошибку: [QUOTE]Error #2025: The supplied DisplayObject must be a chi

Программа выдает ошибку:
Цитата:
Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/getChildIndex()
В этом участке кода.
Код AS3:
else  {		
    trace('dadada');
    var circle:Sprite = new Sprite ();
    var id:int=event.target.getChildIndex(circle);
    event.target.removeChild(circle);
    arrayCircle.splice(id,1);
}
Подскажите в чем проблема???


Последний раз редактировалось dimarik; 05.09.2011 в 10:35.
Старый 20.09.2008, 02:42
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 2  
Ответить с цитированием
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
Код AS3:
var id:int=event.target.getChildIndex(circle);
event.target.removeChild(circle);
- кажись в этих строчках, надо

Код AS3:
var id:int = (event.target as movieClip).getChildIndex(circle);
(event.target as movieClip).removeChild(circle);
__________________
"I am the terror that flaps in the night…!"


Последний раз редактировалось dimarik; 05.09.2011 в 10:36.
Старый 20.09.2008, 03:20
zozo вне форума Посмотреть профиль Отправить личное сообщение для zozo Найти все сообщения от zozo
  № 3  
Ответить с цитированием
zozo

Регистрация: Sep 2008
Сообщений: 53
Переписал на следующий вариант:
Код AS3:
var circle:Sprite = event.target as Sprite;
var id:int=getChildIndex(circle);
removeChild(circle);
arrayCircle.splice(5,1);
Ругается на строку removeChild(circle); типа удаляемый объекь должен быть Child вызывающего. Тоесть если я праввильно понял строчка должна иметь такой вид: контейнер.removeChild(circle); А если я ни в какие контейнеры не помещал объекты, в каком он находится?


Последний раз редактировалось dimarik; 05.09.2011 в 10:36.
Старый 20.09.2008, 12:15
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 4  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
контейнер.removeChild(circle) надо вызывать, если гдето раньше у вас был контейнер.addChild(circle).
а так на сколько я помню getChildIndex(circle) при неудаче возвращает -1. такчто можно сделать следущее:
Код AS3:
var id:int=getChildIndex(circle);
if (id >= 0)
{
	removeChildAt(id);
}
__________________
я могу стать всем, если только захочу


Последний раз редактировалось dimarik; 05.09.2011 в 10:36.
Старый 20.09.2008, 12:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Поменяйте target на currentTarget.

Старый 20.09.2008, 22:22
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 6  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Вот костыль
Код AS3:
if (circle.parent != null) {
  circle.parent.removeChild(circle);
}
Работает всегда.


Последний раз редактировалось dimarik; 05.09.2011 в 10:36.
Старый 31.10.2008, 15:17
MrNobody вне форума Посмотреть профиль Отправить личное сообщение для MrNobody Найти все сообщения от MrNobody
  № 7  
Ответить с цитированием
MrNobody
[+1 11.07.10]
 
Аватар для MrNobody

Регистрация: Oct 2008
Сообщений: 47
Мне помогло последнее. Действительно глупо было так не сделать...

Но откуда возникает сама ошибка из приведенных примеров не ясно. Пожалуйста просвятите.
__________________
Ждете Христа? Он сказал мне, что больше не придет.

Старый 31.10.2008, 17:30
JesterAntik вне форума Посмотреть профиль Отправить личное сообщение для JesterAntik Найти все сообщения от JesterAntik
  № 8  
Ответить с цитированием
JesterAntik

Регистрация: Jul 2008
Сообщений: 43
вы обуъевляете объевляете новый объект, но при этом не добавляете в какой-либо контейнер. После вы пытаетесь его откуда-то удалить(или проверить чайлд индекс). При этом парент у него нал и поидее в if даже не заходит

Старый 05.09.2011, 05:12
zerAlex2 вне форума Посмотреть профиль Отправить личное сообщение для zerAlex2 Найти все сообщения от zerAlex2
  № 9  
Ответить с цитированием
zerAlex2

Регистрация: Nov 2005
Сообщений: 148
Не, не всгда работает костыль. После него мувик с экрана не пропадает Ну, это если TLF использовать


Последний раз редактировалось zerAlex2; 05.09.2011 в 06:35.
Создать новую тему Ответ Часовой пояс GMT +4, время: 08:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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