Форум 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=118420)

loewen 23.11.2008 14:08

Помогите с кнопками для навигации по сайту
 
Бонжур сава!

Подскажите, пожалуйста, как правильно переделать функцию, чтобы при событии onPress, мувиклип-кнопка проигрывался до определённого кадра и останавливался, оставаясь как бы в "активном" положении. А когда нажимаешь уже на другую кнопку, первая должна доиграть свой цикл до конца, а другая доиграть до того же кадра и остаться как бы в активном состоянии) Что-то не получается сообразить, с какой стороны подойти к решению этой задачки)

Исходник прилагается)

http://***********/9219087

urasfinks 23.11.2008 20:22

Я предполагаю что лучше написать класс кнопки. В свойства которого будет входть отслеживание двух положений мыши 1) на обьекте 2) за пределами обьекта. Также переменная обьекта которая будет показывать в каком состоянии сейчас находиться обьект. Тоесть пассивен ли он, активен, или неопределён. Когда на обьект наведём мышку изначально спроситься а в каком состоянии сейчас обьект:
1) Если пассивен..до заставим его проигрываться до середины.
2)Если неопределён ничего не делать пока не стант определён
3)Если активен тоже ничего не делать
Когда мышька уйдёт с обьекта то
1)Если пассивен то ничего не делать
2)Если неопределён то поставить флаг чтобы проигрывалось до конца
тоесть посередине анимации посмотреть на флаг и если он false то остановить анимацию если true то продолжить
3)Если активен то продолжить анимаци до конца.
Ну и после окончания анимации вернуть его в начальное состояние.
Помимо всего этого к классу надо будет прикрутить свойство выбора шаблона. Ну грубо говоря какую кнопку сдублировать в этот обьект. Возможно это нудно..но зато ты после сможешь легко добавить ещё пару кнопок без проблем..даже не пару а сотню =) всеголишь создавая экземпляры класса.

ZergMaster 24.11.2008 00:12

ведь все очень просто.

есть два мувика but1 и but2. внутри обоих одинаковая анимация кнопки состоящая, допустим, из 15 кадров. На первом и десятом кадре навешено stop();

Код AS1/AS2:

onPress.but1=function() {
but1.gotoAndPlay(2)
but2.gotoAndPlay(11)
}
 
onPress.but2=function() {
but2.gotoAndPlay(2)
but1.gotoAndPlay(11)
}

Добавлено через 2 минуты
а. Правда нужно ещё, чтобы определялось была ли нажата до этого кнопка. Для этого надо создать какие-нить булевы переменные и поиграться с ними.

loewen 24.11.2008 13:52

urasfinks, ZergMaster, большое спасибо за советы) буду пробовать)

nOobCrafter 24.11.2008 17:24

Код AS1/AS2:

onPress.but1=function() {
but1.gotoAndPlay(2)
but2.gotoAndPlay(11)
but1.enabled = false;
but2.enabled = true;
}
 
onPress.but2=function() {
but2.gotoAndPlay(2)
but1.gotoAndPlay(11)
but1.enabled = true;
but2.enabled = false;
}

Можно так попробовать если я правильно понял.
А вообще я это делал так:

Код AS1/AS2:

// как только загружен сайт - грузится "Главная" страница и соответственно кнупочку  "главная" надо заблочить.
IB_prod_btn.enabled = true;    // блокируем кнопки при нажатии, т.е. когда менюшка вызвана то кнопку нажать уже нельзя
IB_sup_btn.enabled = true;    //
IB_about_btn.enabled = true;
IB_main_btn.enabled = false;
main_btn.gotoAndStop(20);   
 
mouse_over_prod = false;      // контролируем анимацию кнупки при нажатии
mouse_over_sup = false;        //
mouse_over_about = false;    //
mouse_over_main = true;
// пишем для ИБ, исполнение
// главная
IB_main_btn.onRollOver = function() { mouse_over_main = true; }  // соответственно при наведении анимация играется
IB_main_btn.onRollOut = function()  { mouse_over_main = false; } // при убирании анимация играется назад
 
IB_main_btn.onRelease = function()  {
_root.Window1.gotoAndPlay("stop");
link = "main";
 
IB_prod_btn.enabled = true;    // блокируем кнопки при нажатии, т.е. когда менюшка вызвана то кнопку нажать уже нельзя
IB_sup_btn.enabled = true;    //
IB_about_btn.enabled = true;
IB_main_btn.enabled = false;
 
mouse_over_prod = false;      // контролируем анимацию кнупки при нажатии
mouse_over_sup = false;        //
mouse_over_about = false;    //
mouse_over_main = true;
}


Wolsh 24.11.2008 22:37

Вложений: 1
)))) А я так... Вездесущие клипы-кнопки...


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

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