![]() |
|
||||||||||
|
|||||
|
не знаю как еще тему обозвать.
вообщем дело такое: есть анимированная кнопка - допустим наводишь на нее и она трансформируется в другой объект, а когда с этой кнопки мышу сводишь - объект преобразовывается обратно. вот как сделать так, чтоб анимация не прерывалась резко, а чтоб допустим на еще незаконченном преобразовании если мышу сразу убрать, кнопка вернулась в свой вид, или же с момента когда была мышь убрана, или же чтоб сначала доигралась анимация до конца и только потом вернулась обратно? |
|
|||||
|
Ветеран форума
|
Делаешь мувик с анимацией и ставишь в нём стопы на первом и последнем кадре, дальше вытаскиваешь его на сцену и в первый кадр рута пихаешь код
__________________
BestMasterиZация |
|
|||||
|
Я создал мувик с вращающимся треугольником и рядом кнопку, на которую и наложил данный скрипт. Вот что мне выдал флэш:
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on handler movclip.prototype.p_prevFrame = function() { **Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 10: Statement must appear within on handler movclip.onRollOut = function() { **Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 13: Statement must appear within on handler movclip.onRollOver = function() { Total ActionScript Errors: 3 Reported Errors: 3 Если что - исходник я приложил. Спасиб ![]() |
|
|||||
|
Ветеран форума
|
Ты чё тугой написал же в первый кадр рута код пихай, и создавай не кнопку а мувик и обзывай его mc
__________________
BestMasterиZация |
|
|||||
|
извини. туплю.
а как еще б сделать, чтоб он, если мышь успели убрать до окончания анимации, доигрывал сначала когда наводишь мышу, а потом сразу переходил на тот кадр, где мышь отводится от клипа. просто допустим при наведении на кнопку проигрывается одна анимация, а когда убираешь с кнопки анимация проигрывается не назад, а тоже имеет определенную анимацию с определенного кадра. надеюсь, что понятно объяснил! |
|
|||||
|
Ветеран форума
|
я вроде всё понял но чё то запутался, пока точно могу сказать что можно, а вот как пока не соображу
__________________
BestMasterиZация |
|
|||||
|
флэшка я думаю может только исполнять сценарии в данный момент, но откладывать на определенное время - врядли. хотя я ж видел вроде немало роликов, где был не откат анимации обратно, а доигрывание и дальше уже другая.
|
|
|||||
|
Регистрация: Jun 2000
Адрес: $_SERVER['REMOTE_ADDR']
Сообщений: 854
|
Это же просто программа, а значит может... Алгоритм, типа такой:
1. При RollOver запускаем анимацию. 2. Если до её окончания наступает событие RollOut не прерываем её, но запоминаем в переменной, что эта фигня произошла. 3. Когда анимация доходит до конца, видим, что значение переменной, например, true -- проигрываем анимацию на RollOut ![]()
__________________
X |
|
|||||
|
.grin! wuz here
|
my_mc.stop();
my_mc.stayAtEnd = false;
my_mc.goForward = function(){
this.onEnterFrame = function(){
this.nextFrame();
if(this._currentframe = this._totalframes){
delete this.onEnterFrame;
if(!this.stayAtEnd) this.goBackward()
}
}
}
my_mc.goBackward = function(){
this.onEnterFrame = function(){
this.nextFrame();
if(this._currentframe = 1){
delete this.onEnterFrame;
if(this.stayAtEnd) this.goForward()
}
}
}
my_mc.onRollOver = function(){
this.stayAtEnd = true;
this.goForward();
}
my_mc.onRollOut = function(){
this.stayAtEnd = false;
this.goBackward();
}
__________________
Breakcore them all! |
|
|||||
|
ну ребят, спасиб. гуру просто
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|