![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2012
Сообщений: 204
|
ситуация такая. есть клипы "a" "b" "c"
в каждом из них есть кнопка которая добавляет следующий клип (a---->b ; b----->c) методом addChild. также есть кнопка которая располагается в "a" клипе. задача стоит в том, чтобы эта кнопка была всегда выше всех клипов (это у меня получалось через добавление к каждому коду может есть и другие способы. ну так вот, надо чтобы эта кнопка удаляла добавленый клип. поясню, когда находимся на "a" клипе, добавляется "b". кнопка пропадает, и скриптом она подымается наверх. Если к ней прописать то она работает, т.к. скрипты появления и удаления клипа "b" находятся в одном фрейме. а вот если удалить уже следующий клип "c" то название он не находит ( что логично) а удаление через индекс не работает Какие есть способы решить задачу? |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
Вызывайте время от времени и кнопка всегда будет наверху.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Sep 2012
Сообщений: 204
|
да, тоже вараинт, но не решает основной задачи- эта самая кнопка нужна чтобы возвращаться на шаг назад, и удалять их надо.
Кстати попробовал эксперимента ради вынести все скрипты в 1 фрейм ( то есть и той кнопкой на "b"что управляет появлением клипа "c" ) это не принесло результатов |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Пальцем в небо:
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Sep 2012
Сообщений: 204
|
с кодом к кнопке
срабатывает только первая часть. пр иоткрытой второй вопит оибкой, что Symbol 'a', Layer 'Layer 2', Frame 1, Line 16 1120: Access of undefined property c. |
|
|||||
|
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
если хотите получить ответ напишите что вам нужно понятнее: желательно с картинками, а лучше писать код, не совсем понятно что вы хотите получить в итоге.
|
|
|||||
|
Печалька
![]() А если серьёзно, я 3 раза перечитал ваш пост и думаю, что чёткая постановка проблемы решит её на 95%. Цитата:
Вариант 1: Все мутные махинации с a, b и c проводить в клипе-контейнере, который изначально лежит ниже этой волшебной кнопки. Вариант 2: добавлять клипы на нижний уровень Вариант 3: добавлять клипы ниже уровня кнопки (если они в том же клипе) Последний раз редактировалось Anton Riot; 21.10.2012 в 13:06. Причина: теги |
|
|||||
|
Регистрация: Sep 2012
Сообщений: 204
|
Да, уж извините за нечеткое описание вопроса.. а тот момент мне казалось что все очевиидно. )
Итак с подробностями: 1) На главное сцене есть код, вызывающий клип "а" в котором есть кнопка btn1_btn и есть кнопка close_btn (которая должна закрывать последние вызванные child) в этом клипе "а" есть код в первом кадре var b:classb = new classb(); btn1_btn.addEventListener(MouseEvent.CLICK, openNew); function openNew (MouseEvent):void{ addChild(b); } var c:classc = new classc(); btn2_btn.addEventListener(MouseEvent.CLICK, openNewNew); function openNewNew (MouseEvent):void{ addChild(с); } эксперимента ради я делал клипы b и c меньше по размерам клипа а, и прописывал в А клипе следующее close_btn.addEventListener(MouseEvent.CLICK, closeNew); function closeNew (MouseEvent):void{ removeChild(b); } но дальше удалять клип C никак не удасться, я пробовал через removeChildAt и прописывал последние индексы, но удалялся только тот child который был на отдном клипе с close_btn что то мне подсказывает что это танцы с бубном, и возможно это все сделать если выкладывать все эти клипы на одном таймлайне, и тут уже закрывать кнопкой последний вызывнный Child. Если это возможно, какой код нужен для определение последнего добавленного клипа, чтобы подписать к removeChild. И самое главное- как из главного таймлайна руководить нажатиями кнопки в клипе, который только БУДЕТ вызван. Если писать такой код, скрипт не определяет эти кнопки, т.к. их еще нету. Фух.. надеюсь понятно описал |
|
|||||
|
Регистрация: Sep 2012
Сообщений: 204
|
так, с этим разобрались, спасибо!!!
![]() вот с этим неясность.. можно ли так сделать? |
|
|||||
|
Цитата:
public class ClassA { private var buttonCallback:Function; private var button:SimpleButton public function ClassA () { button.addEventListener(MouseEvent.CLICK, onButtonClick, false, 0, true); } /** * buttonCallback() */ public function setButtonCallback(value:Function):void { buttonCallback = value; } private function onButtonClick(event:MouseEvent):void { if (buttonCallback != null) { buttonCallback(); } } } Можете запросто передать функцию, которую нужно выполнить, когда в клипе нажмут кнопку |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|