![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 50
|
Всем привет и с пятничкой! У меня вопрос такого рода: Есть менюшка, на ней несколько кнопок под которыми ползунок бегает. Если я навел на кнопку, ползунок движется к этой кнопке, как только отвел, он возвращается обратно на кнопку, которая активна в данный момент.
Анимированый пример если не совсем ясно объяснил: http://rojnetsky.narod.ru/ Просьба помочь со скриптом или может, что было бы вообще идеально, есть исходник подобного меню. Заранее благодарен! Последний раз редактировалось cipa; 14.12.2007 в 18:11. |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
import mx.utils.Delegate;
import mx.events.EventDispatcher;
class anim.Movement{
private var mc:MovieClip;
private var vx:Number;
private var vy:Number;
private var d:Number;
private var speed:Number;
private var phisycsSpeed:Number;
private var motionInterval:Number;
public function Movement(){
EventDispatcher.initialize(this);
}
public function moveFromTo(mc:MovieClip, from:Object, to:Object){
this.mc = mc;
vx = from.x - to.x;
vy = from.y - to.y;
d = Math.sqrt(vx*vx + vy*vy);
mc.onEnterFrame = Delegate.create(this, function(){showMotion(to)});
}
private function showMotion(to:Object, smooth:Boolean){
smoothMotion(to);
if(Math.abs(mc._x - to.x) > 20 || Math.abs(mc._y - to.y) > 20){
mc._x -= vx / d * speed;
mc._y -= vy / d * speed;
}else{
dispatchEvent({type:"update", event:"onPlace", target:mc});
delete mc.onEnterFrame;
}
}
private function smoothMotion(to:Object){
var newD:Number = Math.sqrt((mc._x - to.x)*(mc._x - to.x) + (mc._y - to.y)*(mc._y - to.y));
speed = newD / 10;
}
public function stopMotion(toCenter:Boolean){
delete mc.onEnterFrame;
if(toCenter){
mc._x = Stage.width / 2;
mc._y = 200;
}
}
//dispatcher methods
public function dispatchEvent():Void {};
public function addEventListener():Void {};
public function removeEventListener():Void {};
}
недаеюсь разберёшся |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 50
|
Спасибо! Попробую разобраться. Потом отпишу...
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|