Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   BUTTON (http://www.flasher.ru/forum/showthread.php?t=97139)

mvmorozov 14.06.2007 17:00

BUTTON
 
Непонимаю что-то опять (((
в мувике mmenu три кнопки. b1,b2,b3.
в 1 кадре сцены такой код:
Код:

this.mmenu.b1.onRelease = function() {trace("1");};

this.mmenu.b2.onRelease = function() {trace("2");};

this.mmenu.b3.onRelease = function() {trace("3");};

Хоть убейте, работает только кнопка b2.
Разница в них одна: появляются они в мувике в разное время: сначала b2, потом b1, потом b3. Ну и остаются в мувике до конце все три кнопке. в последнем кадре stop();

Что за магаия?

BigDan 14.06.2007 17:05

может просто b1, b3 не успели ещё приатачится.

ARTur2 14.06.2007 17:12

Может быть b1 и b3 вне видимости функции появляються

mvmorozov 14.06.2007 17:16

А как они могут не успеть приаттачится?
В мувике все три кнопки вылетают и выстраиваются в рядок.
Б2 вылетает в првом кадре, прилетает за три кадра и 6 кадов ждет остальных..
Б1 вылетает на третьем кадре за три кадра долетает и 3 кадра ждет Б3.
Б3 вылетает на 6-м.. летит три кадра.. и на 9-м кадре у меня стоит stop();
Этот мувик лежит в 1-м кадре сцены.
на сцене в первом кадре стоит stop(); и мои три фукции по трейсу...

Руками можно приаттачить в первом кадре сцены до моих функций???

mvmorozov 14.06.2007 17:19

ARTur2, ну они же все по-одинаковому сделаны.. (((
я их не программно делаю.. нарисовал сначало символ конпки.. назвал but1, but2, but3...
Потом когда в мувки вставлял в закладке "Свойства" в поле "Имя копии", присвоил им имена b1, b2, b3...

Может не так надо?

mvmorozov 14.06.2007 17:22

Вставил все кнопки в первый кадр мувика..
Работает..
Блин.. ((( а мне ж не надо, что бы они в первом кадре все были (((

mvmorozov 14.06.2007 17:23

Вставил все кнопки в первый кадр мувика..
Работает..
Блин.. ((( а мне ж не надо, что бы они в первом кадре все были (((

ARTur2 14.06.2007 17:24

сделай отдельный слой с кодом в мувике mmenu поверх всего

BM Senya 14.06.2007 17:41

А где все модераторы?
mymorozov, пользуйся иногда кнопкой "изменить" не нужно строчить подряд по четыре сообщения))

mvmorozov 14.06.2007 17:51

А с каким кодом?
Как кодом приаттачить/объявить мои кнопки?
Код:

var b1:Button;
var b2:Button;

или
Код:

var b1:But1;
var b2:But2;

Я вот этого никак не пойму ((
ОНи же у меня экземпляры от but1, but2... А but1 и but2 - уже экземпляры класса button.
Как правильно объявить?

ARTur2 14.06.2007 17:56

1.с тем кодом, который тебе нужен.
2. Если я правильно понял, то кнопку загоняешь в мувик и пользуешься методом attachMovie.

mvmorozov 14.06.2007 18:05

??
стоп..
вот теперь совсем запутался (((
если я в мувике аттачМуви делаю - то глупость же выходит? )
я думаю нужно просто описать кнопки в первом кадре мувика...
только я не знаю как именно. Так:
Код:

var b1:Button;
var b2:Button;

или так:
Код:

var b1:But1;
var b2:But2;

Я писал выше.. у меня b1, b2, b3 - это экземпляры (ну или как их называют... вобщем имена в поле "имя копии") от созданных кнопок but1, but2, but3, соответсвенно..
И я не знаю к чему их клеить, когда объявляю.. или к button или к but*
((((

ARTur2 14.06.2007 18:25

их вообще не нужно описывать, главное чтобы был указан <Istance Name> по которому ты в дальнейшем и будешь обращаться к ним. Дай исходник

Ведьмак 14.06.2007 18:30

поставь их все в первом кадре... тем кому нужно задай (не на кнопке а в таймлайне):
Код:

b1._visible=false;
b3._visible=false;

по ходу основного таймлайна ставь где надо:
Код:

b1._visible=true;

ARTur2 14.06.2007 18:36

2 Ведьмак, как я понял они у него анимированые.
2 mvmorozov . Сделай следущее. В клипе mmenu сделай отдельный слой поверх всех кадров клипа. И в этом слое на первом кадре повесь код, который необходим тебе
Код:

this.mmenu.b1.onRelease = function() {trace("1");};
this.mmenu.b2.onRelease = function() {trace("2");};
this.mmenu.b3.onRelease = function() {trace("3");};


Ведьмак 14.06.2007 18:42

да, вобщем-то, без разницы анимированные или нет... если нужно чтобы кнопки появлялись постпенно в течении проигрывания...
никак не могу понять зачем вы пишите внутри мувика mmenu
Код:

this.mmenu.b1.onRelease = function() {trace("1");};
неужели нельзя
Код:

b1.onRelease = function() {trace("1");};
????

ARTur2 14.06.2007 18:49

2 Ведьмак
Можно!

Fernando Costa 14.06.2007 18:50

короче, ты просто хочешь повесить события на еще не существующие мувики, поэтому такая коллизия, например можно повесить на рут онЕнтерФрейм, завести в нем темповую переменную-счетчик(count =0), и когда этот счетчик будет равен последнему кадру в твоем мувике назначь своим кнопкам события

ARTur2 14.06.2007 18:54

а если нужно будет отловить событие до того момента, когда клип доиграет до последнего кадра?

mvmorozov 14.06.2007 19:23

Спасибо большое!
Буду инвизибл делать..
Трэйс - это я для теста написал..
Вообще у меня там gotoAndStop стоит на раные кадры из таймлайна сцены.. где переходы на другие сцены.. Все только потому, что из мувика перехд на другую сцену невозможен (и в хелпе написано.. и сам пробовал - значит правда написана)..
Про счетчик и ентерфрейм - думал.. Но в перспективе вся эта анимация может затянутся в этом мувике... а хотелось бы, что бы кнопки работали потосянно (т.е. даже в момент, когда она совершает кульбиты, прыгает, летает и т.п... ну или когда остальная анимация в мувике идет..)..

про функции.. я их пишу не внутри мувика.. а в кадре тайм-лайна сцены..
ну и т.к. кнопки внутри мувика - указываю их полный путь...

Fernando Costa 14.06.2007 21:33

Цитата:

Сообщение от ARTur2
а если нужно будет отловить событие до того момента, когда клип доиграет до последнего кадра?

тогда в онентерфрейме при появлении каждой кнопке при разных значениях счетчика назначать события ;)

ARTur2 14.06.2007 21:35

Мне кажеться, это самый оптимальный вариант решения проблемы!


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

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