|
|
|||||
Регистрация: Apr 2013
Сообщений: 89
|
Кнопка удаления объекта
Здравствуйте!
Есть спрайт, который создается в функции fclick, я добавляю в этот спрайт кнпоку закрытия. Но вот как этот спрайт удалить? Проблема в том, что я не могу удалить объект который я создаю локально. Пример: package { import flash.display.*; import flash.events.MouseEvent; public class asddsa extends Sprite { public function asddsa() { var btn:Btn = new Btn(); btn.addEventListener(MouseEvent.CLICK, fclick);//кнопка которая создает объект, который в дальнейшем нужно будет удалять, при нажатии на кнопку btnKick } public function fclick(e:MouseEvent):void { var obj:Obj = new Obj();//объект который нужно удалять btnKick:BtnKick = new BtnKick();//кнопка которая должна удалять addChild(obj); } } } Что делать? Последний раз редактировалось vlbuto; 15.02.2015 в 19:49. |
|
|||||
На лицо явное непонимание того, что значит "глобально". Переменная созданная на уровне экземпляра класса - не является глобальной.
Так что вариант предложенный КорДум'ом - самый верный и простой. Цитата:
|
|
|||||
Регистрация: Apr 2013
Сообщений: 89
|
Да забыл добавить addChild'ом.
Глобально, это значит, что я хочу создавать объект именно при нажатии а не на уровне класса. Добавлено через 3 минуты Т.е. если я создам на уровне класса, я могу сразу добавить объект, а по нажатии на кнопку удалить, removeChild'ом добавленный экземпляр уйдет? |
|
|||||
Да, возможно, вам нужно удалить дисплейобджект, к которому был добавлен слушатель?
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Apr 2013
Сообщений: 89
|
Цитата:
Есть кнопка1 Есть объект1 Есть кнопка2 Я нажимаю кнопка1, появляется объект1, нажимаю кнопка2, объект1, содержащий кнопка2 удаляется. |
|
|||||
package { import flash.display.*; import flash.events.MouseEvent; public class asddsa extends Sprite { public function asddsa() { var btn:Btn = new Btn(); btn.addEventListener(MouseEvent.CLICK, fclick);//кнопка которая создает объект, который в дальнейшем нужно будет удалять, при нажатии на кнопку btnKick } public function fclick(e:MouseEvent):void { var obj:Obj = new Obj();//объект который нужно удалять btnKick:BtnKick = new BtnKick();//кнопка которая должна удалять btnKick.addEventLinstener(MouseEvent.CLICK, onRemove); obj.addChild( btnKick ); addChild(obj); } private function onRemove(e:MouseEvent):void { if( e )e.currentTarget.removeEventListener( e.type, arguments.callee ); // создаем ссылку на окно, объект который должен быть удален var me:DisplayObjectContainer = ( e.currentTarget as DisplayObject).parent; // проверяем находится ли этот объект в каком то контейнере и если да - удаляем из контейнера if( me.parent ) me.parent.removeChild( me ); } } } Последний раз редактировалось fish_r; 16.02.2015 в 03:00. |
Часовой пояс GMT +4, время: 23:29. |
|
« Предыдущая тема | Следующая тема » |
|
|