![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 14
|
Спасибо. Посмотрел:
- немогу остановить анимацию. На стоп(отдельно) реагирует летально. Внутри сего кода никак не реагирует. - не вижу что бы она лупилась, просто зум. |
|
|||||
|
Регистрация: Aug 2008
Адрес: 53 E
Сообщений: 60
|
-объясните, что для Вас означает "лупится"?
- не можете остановить анимацию где? Конкретно в том коде, который я привел ранее? |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 14
|
-Лупится всмысле "loop" - идет по кругу.
-Ну я свою всунул анимацию, фреймы проще говоря. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 14
|
А вы подумали лупится типа увеличивается?
![]() |
|
|||||
|
Регистрация: Aug 2008
Адрес: 53 E
Сообщений: 60
|
Раз всунули фреймы, значит создаете анимацию непрограммно. Ну ладно, коли так нравится, значит даю пример с минимумом ActionScript.
1. Открываем новый документ во Flash. 2. Рисуем красный квадратик (пусть он будет кнопкой) 3. Жмем F8 и сохраняем этот квадратик, как "мувик" 4. Заходим в этом "мувик" и создаем анимацию. Что Вы будете делать - Ваше дело. Я просто взял и стал вращать квадрат каждые 20 кадров на 45 градусов. В итоге - 81 фрейм. Учитывая первый фрейм бездействия кнопки (стоповый, когда никаких событий не происходит) 5. Когда анимацию закончили. Пропишем в первом фрейме мувиклипа команду "stop". В последнем - gotoAndPlay(2). Думаю не нужно объяснять для чего? 6. Помещаем муви клип на главную сцену. Даем ему имя в (Instance Of) button. 7. В первом кадре сцены прописываем код: _root.button.onRollOver=function(){
_root.button.gotoAndPlay(2);
}
_root.button.onRollOut=function(){
st = setInterval(frm,20); // Устанавливаем интервал с которым будем вызывать //
//нужную функцию.
}
//Функция, которая определяет номер текущего фрейма, отнимает от
//него единицу, до тех пор пока головка таймлайна не вернется в первый
//кадр.
function frm(){
if (_root.button._currentframe!=1){
_root.button.gotoAndPlay(_root.button._currentframe - 1);
}
else{
clearInterval(st); // Убиваем интервал, когда головка вернулась в
//первыйкадр таймлайна.
}
}
_root.button.onRelease=function(){
getURL("http://flasher.ru", "GET");
}
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 14
|
Яснее быть и неможет. Но что бы ваш метод был без изъяна и новые поколения нупов вам были признательны, нам нужно как то решить проблему "срывания" анимации и последующего ее игнорирования на события ( во время анимации отведите резко курсор и опять наведите - поймете о чем я говорю )
|
|
|||||
|
[+4 12.09.08]
|
жесткач ... че проще нарисовать кнопку ?? и анимации к ней .... и вставить их в соответствующие поля. и наглядней и качественней результат ))))))))))))))
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 14
|
skald, почисти клаву под кнопкой ноль, мне кажется она заедает.
|
|
|||||
|
Регистрация: Mar 2007
Сообщений: 37
|
Пример пригодился, было очень радостно, только он ненадежный оказался на больших скоростях.
Понадобилось сделать вращение шестеренок (это в логотипе). При наведении мышки на клип, проигрываются кадры зацикленно. Но! При отведении курсора нужно чтобы анимация проигралась один раз до конца без зацикливания. Если время вызова функции setInterval поставить больше 20, то возникают ошибки. Вот код: _root.button.onRollOver=function(){
_root.button.gotoAndPlay(2);
}
_root.button.onRollOut=function(){
st = setInterval(frm,20); // Устанавливаем интервал с которым будем вызывать //
//нужную функцию.
}
//Функция, которая определяет номер текущего фрейма, отнимает от
//него единицу, до тех пор пока головка таймлайна не вернется в первый
//кадр.
function frm(){
if (_root.button._currentframe!=80){
_root.button.gotoAndPlay(_root.button._currentframe + 1);
}
else{
clearInterval(st); // Убиваем интервал, когда головка вернулась в
//первыйкадр таймлайна.
_root.button.gotoAndStop(1);
}
}
_root.button.onRelease=function(){
getURL("http://flasher.ru", "GET");
}
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|