![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2011
Сообщений: 6
|
тут я пробую реализовать перемещение подгружаемого объекта spear в точку клика мыши
------------------------------------------ stage.addEventListener(MouseEvent.CLICK, kid); function kid(e:Event):void { if (spear2.visible == true) { var spear:Sprite = new Sprite(); var my_loader:Loader = new Loader(); my_loader.load(new URLRequest("spear2.png")); addChild(spear); spear.addChild(my_loader); spear.x=spear2.x; spear.y=spear2.y; a = mouseX; b = mouseY; spear2.visible = false; v=0; } stage.addEventListener(Event.ENTER_FRAME, MO); function MO(e:Event):void { if (spear2.visible == false) { if (spear.x >= a) { spear.x-=(spear2.x - a)/4; spear.y-=(spear2.y - b)/4; } if (spear.x <= a) { v++; if (v == 3) { spear.removeChild(my_loader); spear2.visible = true; } } } } один раз перемещает, удаляет, добавляет новый, перемещает и вот второй раз не удаляет spear(ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта. at flash.display: isplayObjectContainer/removeChild())почему я не пойму... метил с условиями по разному эффект был только хуже(не правильная анимация, куча ошибок на выходе и т.д.) помогите с решение проблемы реализации перемещения объекта в точку клика мыши, уже второй день сижу не могу ничего выдумать путного... P.S. приложил файлик скомпилированого ролика, не пугайтесь, там сперва идёт небольшой мульт-предыстория =) Последний раз редактировалось Vernus; 18.12.2011 в 08:06. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
У Вас в первой функции объявляется локальная(!) переменная var spear:Sprite, да еще и в блоке условия, то есть толи создается, толи нет, от чего-то зависит. Нигде за пределами функции эта переменная не видна. Тогда с какой spear работает функция MO? Я так понимаю, это у Вас приватная переменная экземпляра, как и spear2. Но тогда надо убрать из первой функции создание новой переменной с таким же именем. И начать уже писать в классах.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2011
Сообщений: 6
|
функция MO вложена в функцию kid, оттуда видно spear, оно работает на полтора раза, но не более, до этого другие условия стояли, код и создавал и удалял, только с ошибками и сам объект не доходил до нужной точки а щас он доходит, всё вроде нормально но второй раз удаление потомка не срабатывает...
|
|
|||||
|
Регистрация: Dec 2011
Сообщений: 6
|
вынес
в паблик и теперь ошибки нет, но эффект тот же, не работает более 2х раз... далее просто создаёт но не перемещает |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|