Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление самого себя (http://www.flasher.ru/forum/showthread.php?t=206567)

vlbuto 12.02.2014 03:36

Удаление самого себя
 
Привет.

Не знал как точно сформулировать суть вопроса.

Суть:

есть main класс
есть класс менюшки

в классе менюшки, я создаю 3 кнопки, задаю им ширину высоту и так далее...

далее пришу примерно следующее:

Код AS3:

this.addChild(object1)
this.addChild(object2)
this.addChild(object3)

Идея, при нажатии клавиш (object1,object2,object3) удалять в каждом MouseEvent'e сам класс в который засунуты данные кнопочки.

Я пишу так:

Код AS3:

removeChild(this);

Это не правильный вариант, я это понимаю.

Код ошибки

Код AS3:

ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта.
        at flash.display::DisplayObjectContainer/removeChild()
        at scr::Menuha/fBtnStart()

Идею описал, вроде понятно. Может я не так вообще делаю, может не очень понимаю как надо делать правильно. Подскажите кому не трудно.

Godwarlock 12.02.2014 03:42

this.addChild(object1) - создаешь объект object1, значит и удалить надо removeChild(object1); и т.п.

Wolsh 12.02.2014 04:28

Технически, Вы можете обратиться к родителю
Код AS3:

this.parent.removeChild(this);

Но идейно это очень плохо. Дети не должны приказывать родителям.

Fogflasher 12.02.2014 12:27

Идейно хорошо (как меня учили на этом форуме) так: ребенок генерирует кастомное событие, оно всплывает вверх к родителю.
Родитель ловит событие и удаляет ребёнка.

Не уверен лишь в деталях: должно ли событие быть обязательно кастомным, или можно и системное генерить.
А также: всплывают ли кастомные события только "вдоль display list", или могут как угодно и когда угодно?
(остается ли принцип всплывания событий в силе для незадисплэйлищщеных объектов всё тем же)

caseyryan 12.02.2014 13:52

Цитата:

Не уверен лишь в деталях: должно ли событие быть обязательно кастомным, или можно и системное генерить.
Можно и системное, главное, чтобы это событие не генерировалось объектом в другое время, чтобы не было ложного срабатывания. Поэтому кастомное надежнее, но технически (если с событием не надо передавать каких-то дополнительных данных), разницы нет.
Цитата:

А также: всплывают ли кастомные события только "вдоль display list", или могут как угодно и когда угодно?
(остается ли принцип всплывания событий в силе для незадисплэйлищщеных объектов всё тем же)
Что-то не совсем понял вопрос. Но тем не менее, кастомные события ведут себя так же, как и встроенные. В любом случае, кастомное событие является наследником системного (если конечно система событий не была вся заменена кастомной)

Akopalipsis 12.02.2014 13:58

Всплывают, на сколько я знаю, только события для ДО, для классов не ДО баблинг не работает.

in4core 12.02.2014 14:34

Цитата:

Всплывают, на сколько я знаю, только события для ДО, для классов не ДО баблинг не работает.
Откуда такие познания?

Akopalipsis 12.02.2014 14:36

Цитата:

Откуда такие познания?
Дело в том, что сказал это, в надежде на опровержение. Покажите, как сделать баблинг для наследников Object. я и читал и искал и не смог найти.

Добавлено через 45 минут
Вот даже сейчас попробовал и опять не получилось..

Wolsh 12.02.2014 18:02

in4core, а куда они по-вашему должны всплывать? Отношения родитель-ребенок есть только в Списке отображения.

in4core 13.02.2014 13:22

Цитата:

in4core, а куда они по-вашему должны всплывать? Отношения родитель-ребенок есть только в Списке отображения.
Никуда естественно :) Кто ж спорит :)

Цитата:

Дело в том, что сказал это, в надежде на опровержение
Хорош уже опровергаться. Ты должен знать ТОЧНО, что можно, а что нельзя


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

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