![]() |
|
||||||||||
|
|||||
|
При чем тут примерчики,видишь вещи нормальной логике человеческой не поддаются
не передаются переменные из кнопки у меня..какой-то дурацкий нюанс.. |
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
Цитата:
Цепочку области видимости переменной клипа составляют всего два звена:
_global.x = "globalization"; // создать переменную с именем x в объекте _global и присвоить ей значение Первый вызов trace(x) следовал описанному пути:
Так как цепочка области видимости переменной клипа (ЦОВПК) следует предсказуемой последовательности (клип, в котором происходит обращение к переменной, исследуется первым), можно дописать в клип movie еще один пример: var x = “antiglobalization”; // создать переменную с именем x в клипе movie и присвоить ей значение trace(x); // antiglobalization – переменная нашлась в клипе movie, исследовать объект _global не потребовалось trace(this.x); // antiglobalization - переменная нашлась в клипе movie, а даже если бы и не нашлась, до объекта _global дело все равно бы не дошло trace(_global.x); // globalization - переменная x глобального объекта по-прежнему существует delete this.x // удалим переменную x клипа movie // история повторяется, понятно почему? trace(x); trace(this.x); Наверное, ты утомился все это читать, поэтому пробежимся только по обработчикам в стиле Flash 5, которые ты и используешь. Для клипа (on, onClipEvent) цепочка состоит из двух звеньев:
Для кнопки (on):
Прочие аспекты доступности переменных Кроме того, что доступность переменной определяется областью видимости переменной, ее так же характеризует время, в которое ты можешь обращаться к переменной. Переменные клипа доступны только тогда, когда этот клип присутствует на сцене и эти переменные инициализированы (воспроизводящая головка вошла в кадр, в котором эти переменные объявляются и, как правило, получают значения). Если ты обращаешься к переменной клипа в тот момент, когда этого клипа еще нет на сцене (насколько я понимаю, именно это и происходит), будь уверен – переменных это клипа тоже еще не существует.
__________________
Папа просил передать вам всем, что театр закрывается. Нас всех тошнит. Последний раз редактировалось Whatsername; 16.04.2006 в 07:04. |
|
|||||
|
спасибо конечно за теорию.. всем.., но вопрос довольно конкретный,сначала был про клип, потом я спросил про кнопку..
Короче, после долгих исканий, я наконец нашел как это сделать: кнопка: on(press){ _global.z=0; play(); } 1 кадр: stop(); 2 кадр: trace(z); так, и только так у меня передалась переменная на основную временную диаграмму, не используя _глобал ничего не вышло(что странно..). |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 12
|
2GAIKER
привычка из ПХП ставить доллары.. да и переменные так легче искать! а что знак доллара может на что то повлиять!! Помоему нет! или я ошибаюсь? ![]() |
|
|||||
|
а ты уверен что во втором фрейме у тебя есть твой мувик? при переходе в следующий фрейм, руками сделанный мувик автоматом удаляется, а соответственно все его дети(переменные, мувики и проч)
__________________
Тут вам не здесь!!! |
|
|||||
|
Ветеран форума
|
Цитата:
__________________
BestMasterиZация |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Цитата:
Очевидно, точно такая же проблема и у Ноября. Это по-умному называетя не "область видимости", а "время существования" ![]() Кончено, надо копировать клип на таймлайне в те фреймы, где вы хотите его видеть и использовать скрипты для доступа к нему и его переменным. Есть, конечно, дурацкий способ оторвать существование клипа от таймлайна: в приведённом примере добавляем: onClipEvent (load) { $l = "Life "; swapDepths(1); } во второй клип добавить swapDepths(2); в третий - swapDepths(3); Теперь пример будет работать. А лучше вообще всё делать в одном (первом) фрейме, но тут надо помнить, что скрипт на фрейме выполняется раньше, чем скрипт на клипах, поэтому, чтобы в этом примере вывести нужную строку из первого фрейма, нужно отложить выполнение, например, так: onEnterFrame = function () { trace ($res = $a + $b+ $c); onEnterFrame = null; } В таком виде второй фрейм уже не нужен... ![]()
__________________
Верить никому нельзя. Мне - можно. :) |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|