Плавная анимация кнопки при наведении и отведении курсора (Action Script 2)

8 сообщений / 0 новое
Последнее сообщение
Аватар пользователя LeeTovetz
LeeTovetz
Не в сети
Регистрация: 24.08.2012
Баллы: 401
Плавная анимация кнопки при наведении и отведении курсора (Action Script 2)

http://flash-animated.com/plavnaya-animatsiya-knopki-pri-navedenii-i-otv...

Плавная анимация кнопки при наведении и отведении курсора (Action Script 2)

Вопросы появились по ходу применения этого поста в жизнь )))

Первый - это что бы нажав на кнопку открывалась ссылка в окне браузера.

Я решил этот вопрос так.

 

buttonZ.onRelease = function (){
getURL("http://civilization-spb.ru/", "_blank");   
    };

Весь код если кому-то будет нужен. А как его вставить все подробно в уроке выложенно.

onClipEvent (enterFrame) {
    if (go) {
        nextFrame();
    } else {
        prevFrame();
    }
}
onClipEvent (load) {
    var go;
    stop();
    buttonZ.onRollOver = function() {
        go = true;
    };
    buttonZ.onRollOut = function() {
        go = false;
        };
    buttonZ.onRelease = function (){
getURL("http://civilization-spb.ru/", "_blank");   
    };
}

Благодаря этому уроку у меня получилось сделать вот это

http://leetovetz.deviantart.com/#/d5bgo4c

За что очень и очень спасибо Оксане за ее труды.

А теперь у меня появилось желание сделать, что бы при нажатии на кнопку можно было бы переходить внутри ролика по сценам и по кадрам.

А как это сделать пока не знаю. Кто нибудь может подсказать?

Итак суть вопроса в следующем.

Нужно сделать, что бы при нажатии кнопки начался проигрываться ролик с третьего кадра. Первый - прелоадер. Второй - кнопка, которая туда сюда проигрывается. А с третьего- идет сам ролик и возвращается на второй кадр.
Понимаю, что нужно как то вписать вместо функции
gotoAndPlay(3);

но почему-то не работает. Спасибо за помощь.

 

 

моя радость тут ))) http://leetovetz.deviantart.com/gallery/

Аватар пользователя LeeTovetz
LeeTovetz
Не в сети
Регистрация: 24.08.2012
Баллы: 401

Сам ищу ответ на свой вопрос и вот пока что нашел, почему gotoAndPlay не работает в кнопке в кнопке и т.д.

gotoAndPlay работающий со сценами является глобальной функцией и работает он только из основного таймлайна. Поэтому из вложенных клипов он не работает.

 

 

 

 

моя радость тут ))) http://leetovetz.deviantart.com/gallery/

Аватар пользователя LeeTovetz
LeeTovetz
Не в сети
Регистрация: 24.08.2012
Баллы: 401

Ура нашел ответ.

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

on(release){
	_root.gotoAndPlay(25);
}

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



onClipEvent (enterFrame) {
if (go) {
nextFrame();
} else {
prevFrame();
}
}
onClipEvent (load) {
var go;
stop();
buttonZ.onRollOver = function() {
go = true;
};
buttonZ.onRollOut = function() {
go = false;
};
buttonZ.onRelease = function (){
_root.gotoAndPlay(3);
};
}

 

 

моя радость тут ))) http://leetovetz.deviantart.com/gallery/

Аватар пользователя Anyoneelselikeyou
Anyoneelselikeyou
Не в сети
Регистрация: 05.08.2012
Баллы: 74

Сам спросил - сам ответил... ) Сам не научишься - никто не научит. Переходи на третью версию AS, она логичнее и потому проще (вопрос спорный, но для меня это так и есть)

Что бы вы сделали, если бы точно знали что всё получится?...

Аватар пользователя LeeTovetz
LeeTovetz
Не в сети
Регистрация: 24.08.2012
Баллы: 401

Я по факту как раз третью и учу. Но тут уроки и исходники на второй были. А так как есть исходники в AS 2, то приходится крутиться как можно. Вот и крутуся)

моя радость тут ))) http://leetovetz.deviantart.com/gallery/

Аватар пользователя LeeTovetz
LeeTovetz
Не в сети
Регистрация: 24.08.2012
Баллы: 401

В комментариях появился новый код к этому посту. Что бы не потерялся выкладываю )

Сергий Проу 

Неправильно вы клик указываете, код:

button.onRelease = function (){
getURL('название сайта','_blank');
};
}

нужно ставить не в конце общего кода а в onClipEvent после stop();
иначе если код клика поставить снизу, будет ошибка и кнопка будет в цикле.

onClipEvent (enterFrame) {
if (go) {
nextFrame();
} else {
prevFrame();
}
}
onClipEvent (load) {
var go;
stop();
button.onRollOver = function() {
go = true;
};
button.onRollOut = function() {
go = false;
};
}

 

моя радость тут ))) http://leetovetz.deviantart.com/gallery/

Аватар пользователя Oksana
Oksana
Не в сети
Админ
Регистрация: 02.06.2011
Баллы: 500

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

Аватар пользователя LeeTovetz
LeeTovetz
Не в сети
Регистрация: 24.08.2012
Баллы: 401

Согласен. Кнопка нормульк работает. МОжет со временем разберусь с кодом и пойму что тут написано )))

моя радость тут ))) http://leetovetz.deviantart.com/gallery/