Просмотр полной версии : помогите с навигацией разобраться
Помогите с навигацией разобраться:
Значит так. У мене сайт рисуется. там есть прикол есть анимация, завязанная на кнопку. Мне нуна:
чтобы княпнуть на одну кнопу, анимация сработала, нажал на другую, анимация пошла обратно(вернулась в начальное положение так же как и вперед ехала), а потом сработала следующая анимация из первоначального состояния. Описание:
- княп на кнопке 1-> шарик покатился справа на лево
- княп на кнопке 2-> шарик покатился слева на право(в исходное положение) и потом покатился вниз
княп на кнопке 3-> шарик покатился вверх, а потом влево
т.е. Все анимашки должны происходить через точку старта.Но без кнопки "назад". Я понимаю, что все через ЭкшенСкрипты делается, только как?
На деюсь понятно объяснил
Я чайник поэтому объясняйте поподробней или вышлите исходник подобной хрени:)
Заранее благодарю. :confused:
e-mail: malack@narod.ru
объяснять долго, проще показать
Спасибо Брат!!!!Тока, это, можешь прокоментировать что там где происходит:
var b=this.ball;
var del=20;//время в кадрах -это ясно
var dist=120;//расстояние -это ясно
b.y=b._y,b.x=b._x;//исходное положение -это ясно
u.onRelease=d.onRelease=l.onRelease=r.onRelease=function(){
var n=this._name;
var s=n=='l'||n=='r'?'_x':'_y';
var d=n=='d'|| n=='r'? dist:-dist;
if(b._x!=b.x) var t=new mx.transitions.Tween(b, "_x", mx.transitions.easing.Bounce.easeOut, b._x,b.x, del);
if(b._y!=b.y) var t=new mx.transitions.Tween(b, "_y", mx.transitions.easing.Bounce.easeOut, b._y,b.y, del);
if(!t) var t=new mx.transitions.Tween(b, "_y", null, b.y,b.y, 1);
t.onMotionFinished = function() {new mx.transitions.Tween(b, s, mx.transitions.easing.Bounce.easeOut, b[s],b[s]+d,del); }
}
c.onRelease=function(){
if(b._x!=b.x) new mx.transitions.Tween(b, "_x", mx.transitions.easing.Bounce.easeOut, b._x,b.x, del);
if(b._y!=b.y) new mx.transitions.Tween(b, "_y", mx.transitions.easing.Bounce.easeOut, b._y,b.y, del);
}
u.onRelease=d.onRelease=l.onRelease=r.onRelease=function(){
var n=this._name;//смотрим на какую кнопку нажали
var s=n=='l'||n=='r'?'_x':'_y';//для влево и вправо менять будем _х, для вверх/вниз - _y
var d=n=='d'|| n=='r'? dist:-dist;// для вниз и вправо будем прибавлять, для вверх и влево - вычитать
//mx.transitions.Tween класс для прграммного перемещения, почитать можно здесь (http://www.actionscript.org/tutorials/advanced/Tween-Easing_Classes_Documented/index.shtml)
if(b._x!=b.x) var t=new mx.transitions.Tween(b, "_x", mx.transitions.easing.Bounce.easeOut, b._x,b.x, del);//если _x или _y шарика не равны исходным отправляем в начальную точку
if(b._y!=b.y) var t=new mx.transitions.Tween(b, "_y", mx.transitions.easing.Bounce.easeOut, b._y,b.y, del);
if(!t) var t=new mx.transitions.Tween(b, "_y", null, b.y,b.y, 1);//если шар на месте(t не определена), то организуем 'пустышку'
//по завершении маневра организум твин в нужную точку
t.onMotionFinished = function() {new mx.transitions.Tween(b, s, mx.transitions.easing.Bounce.easeOut, b[s],b[s]+d,del); }
}
блин! что-то я это... мне теперь нуно, чтобы объекты двигались по кривой тректории(туды и назад, как описано сверху)
ну и в чем дело ?
посмотри у Дембицкого Path (http://www.dembicki.org/path/index.html), у Потапенко Conveyor (http://www.potapenko.com/rus/articles/conveyor.htm): все уже сделано..
не хочешь программно, можно на линейке наплодить нужных анимаций и по тому же алгоритму(что в моем примере) отправлять мувик куда нада, за счет gotoAndStop, NextFrame, PrevFrame..
сил, тебе пора уроки писать..... ;)
уроки это врядли, а вот разбор всяких таких затейливых раскладов: есть смысл подумать
к слову, начал( тут (http://www.silin.fatal.ru/) )систематизировать всякую полезность, не уроки конечно, но все же..
не останавливайся........
скоро открою флэш-клуб -
будешь почётным председателем... ;)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.