PDA

Просмотр полной версии : сценарий на кнопке


Мыкыта
17.01.2007, 21:17
Твагищи! получил я шаблон но в коде разобраться доконца немогу
подкажите что да как...
суть:

на кнопке навешен такой код:
on(rollOver) {
this.gotoAndPlay("s1");
}

on(rollOut, releaseOutside) {
this.gotoAndPlay("s2");
}

on(release) {
_root.link=3;
_root.play();
}


все понятно но вот эта строчка ввела в замешательство
_root.link=3;

и таких кнопок N количество код ессено отличается только непонятной строчкой а именно link=1, link=n

в первом кадре есть такой вот код
_root.link=1;

а тепрь по порядку =)
при нажатии кнопки идет анимациия по _root и проходит кадр с таким кодом pages.gotoAndStop(_root.link);
где pages мувик но опять =))) непонимаю логику работы _root.link

в мувике pages есть два слоя в первом кадре стоит стоп и всего несколько кадров в которые попадаем по нажатии кнопок мувики в кадрах никак не обозваны, меток кадров нет кода кроме стоп нет.

ЗЫ до этого пользовал инстан наме, метки кадров и полный путь или относительный чтоб добратся в нужную временную шкалу и соотвественно в нужный кадр здесь принцип другой а вот какой понять немогу =) подозреваю что я бонально ненашол кусок кода...

еще поясните суть такого кода
_root.animation=1;

Kikasso
18.01.2007, 06:13
это все флажки.
код можно найти с помощью Movie Explorer.
window -> Movie Explorer (flash8)
window -> Other Panels -> Movie Explorer (flash MX)
или alt+F3

Мыкыта
18.01.2007, 13:53
воощем я так понял что animation=1 и link это переменные и где то зарыт обработчик.... бум ковырять
спасибо

pkfun
18.01.2007, 16:31
_root.link=1
Это переменная сохраненная как свойство мувиклипа _root. Т.к. _root относится к классам динамического типа(класс MovieClip - динамический класс), то к нему можно по ходу выполнения программы добавлять новые свойства. Но это плохая практика, так как при этом нет возможности производить контроль типов и возможные ошибки не смогут быть выявлены при компиляции( только при исполнении кода).
Лучше, чтобы проще было ловить ошибки несоответствия типов, определять переменные традиционным способом:
var myLink:Number=1

zveryuka
16.09.2008, 14:59
Вот сценарий на кнопке

on (rollOver) {
if (_root.link<>3) {
this.gotoAndPlay("s1");
}
}
on (releaseOutside, rollOut) {
if (_root.link<>3) {
this.gotoAndPlay("s2");
}
}
on (release) {
if (_root.link<>3 and _root.flag_animation1 == 1) {
_root.flag_animation1 = 0;
_root.menu["item"+_root.link].gotoAndPlay("s2");
_root.link_prev = _root.link;
_root.link = 3;
_root.scrollPART.gotoAndStop(2);
_root.scroller.scroller.gotoAndStop(3);
_root.play();


}
}

все Вродебы ничего, НО Кнопка начинает дергатся когда медленно уводиш курсор с области кнопки - Я даже незнаю к чему придраться разве что писать другой код:(

Ктото может посоветовать - можно ли както убрать эти дергания?:bye:

есть исходник...

chingachgoog
16.09.2008, 15:20
Проще всего дергания убираются так: подставляется во ВСЕ СОСТОЯНИЯ кнопки прозрачная основа (для мувиков-кнопок) или область хит (для кнопок) которая БОЛЬШЕ, чем размеры кнопки при наведении и которая НЕ МЕНЯЕТСЯ по размерам во ВСЕХ состояниях.