Форум 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)
-   -   кнопки в муви-клипе (особый случай! ;)) (http://www.flasher.ru/forum/showthread.php?t=113920)

ogonek 13.07.2008 18:27

кнопки в муви-клипе (особый случай! ;))
 
спасибо Wolsh за помощь с прокруткой)

возник другой вопрос. кнопка в кнопке и перекрывание кода. много прочла на эту тему, но не удается исполнить в моем случае

есть: мувик, в нем два кадра, в каждом кадре - по кнопке (2 вида одной и той же кнопки fullscreen/unfullscreen) внутрениие объекты могут быть кнопками или мувиками, не важно

на каждом кадре написанно:
Код:

stop();
this.onRelease = function()
{
if (_global.isFullscreen)
{
this.gotoAndPlay(2);
fscommand("fullscreen", false);
_global.isFullscreen = 0;
}
else
{
this.gotoAndPlay(1);
fscommand("fullscreen", true);
_global.isFullscreen = 1;
}
}

в таком виде кнопка меняет вид и выполняет свои функции по он релиз, но на ролл овер сами кнопки не меняют цвет (вне зависимости от того, кнопки внутри или ролики с кодом на роллОвер (код верный)

был и другой вариант, когда на внутреннем ролике был написан и код на ролл овер и и код на родительский мувик (переключение между первым и вторым кадром фуллскрин\анфуллскрин). тогда кнопа успешно меняла цвет при наведении но не выполняла других функций.

пробовала обращаться через this._parent или везде -через _root.name_mc ....

так ничего и не получилось. была полностью нерабочая кнопка и кнопка мигающая всеми 4 видами.


помогите, пожалуйста, разобраться!!

Wolsh 13.07.2008 20:15

А такой вариант Вам не подойдет?
http://flasher.ru/forum/showpost.php...6&postcount=28

ogonek 14.07.2008 02:06

ох, спасибо.
я попробовала, конечно.

но у вас пример когда реакция на ролловерпроисходит на совершенно на отдельном мувике.

я решила все сверху на ролик повесить снова попробовать. ролик button в нем два на двух кадрах

но стала ругаться программа уже на такой код

Код:

stop();
button.onRelease = function()
{
if (_global.isFullscreen)
{
button.gotoAndPlay(2);
fscommand("fullscreen", false);
_global.isFullscreen = 0;
}
else
{
button.gotoAndPlay(1);
fscommand("fullscreen", true);
_global.isFullscreen = 1;
}
}

ей перестала нравится переменная _global и что-то ее про фскомманд пишет. я в растерянности.

соответственно, реакцию на роллОвер пока не писала потому что она тоже от этого зависит.

Wolsh 14.07.2008 02:31

А давайте Вы лучше исходник выложите))) А то так только гадать можно.
Из советов - не стоит вообще в данном случае в _global ничего сохранять. Вполне подойдет сам мувик button. Т.е. вместо _global можно смело использовать this.
Также плохая практика использовать вместо стандартных булевых величин цифры. Пока переменные не типизированы, это проходит, но прививает плохую привычку, и когда-нибудь Вы об это споткнетесь. Кроме того, Ваш ключ isFullscreen можно будет использовать прямо в коде fscommand, примерно так:
Код:

fscommand("fullscreen", isFullscreen);
если Вы будете присваивать ему честные значения true и false.
Еще меня смущает Ваше gotoAndPlay();
У Вас же два кадра... со стопами. Почему не gotoAndStop(); ?
Давайте исходник посмотрим!

ogonek 14.07.2008 03:51

Вложений: 1
разобралась, почему ругался - новый документ создала для примера с as3.

глобал наверное потому нужно, что задается изначально во внешнем свф куда потом подгружаются остальные

прикрепляю как было и как стало варианты.

Wolsh 15.07.2008 01:11

Вложений: 1
Ну можно и так, только на мой взгляд не очень рационально))
Чем два клипа лучше одного?)))
Вот Ваш исходник.

ogonek 15.07.2008 02:55

о, спасибо большое!!

я пока просто мало про функции знаю, сложно мне с ними...


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

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