![]() |
|
||||||||||
|
|||||
|
[+1 29.06.10]
Регистрация: Nov 2009
Сообщений: 80
|
есть клип "retro" надо чтобы он подползал к месту клика на всей рабочей области и останавливался....сейчас все работает только он после нажатия ползает и дальше ползает за курсором) тоесть оно переменные mpx и mpy постоянно перезаписывает( исправте пожалуйста и подскажите как правильно написать такой код?
package lib{ import flash.display.*; import flash.events.*; public class engine extends MovieClip{ public function engine(){ stage.addEventListener(MouseEvent.MOUSE_DOWN, moveto); } public function moveto(e:Event):void{ var mpx:Number = mouseX; var mpy:Number = mouseY; if(mpx>retro.x){ if(mpx!=retro.x){ retro.x+=1; addEventListener(Event.ENTER_FRAME, moveto); } } if(mpy>retro.y){ if(mpy!=retro.y){ retro.y+=1; addEventListener(Event.ENTER_FRAME, moveto); } } if(mpx<retro.x){ if(mpx!=retro.x){ retro.x-=1; addEventListener(Event.ENTER_FRAME, moveto); } } if(mpy<retro.y){ if(mpy!=retro.y){ retro.y-=1; addEventListener(Event.ENTER_FRAME, moveto); } } } } } |
|
|||||
|
Регистрация: May 2008
Сообщений: 52
|
package lib{ import flash.display.*; import flash.events.*; public class engine extends MovieClip{ var mpx:Number; var mpy:Number; public function engine(){ stage.addEventListener(MouseEvent.MOUSE_DOWN, setCoords); } // Запоминаем куда двигаться public function setCoords(e:Event):void{ mpx = mouseX; mpy = mouseY; addEventListener(Event.ENTER_FRAME, moveto); } public function moveto(e:Event):void{ // Проверяем приехали ли к точке назначения if( Math.round(mpx)==Math.round(retro.x) && Math.round(mpy)==Math.round(retro.y) ){ retro.x=mpx; retro.y=mpy; removeEventListener(Event.ENTER_FRAME, moveto); return; } // Перемещаемся if(mpx>retro.x) retro.x+=1 else retro.x-=1; if(mpy>retro.y) retro.y+=1 else retro.y-=1; } } } |
|
|||||
|
[+1 29.06.10]
Регистрация: Nov 2009
Сообщений: 80
|
Большое спасибо, работает) правда ratro клип немного трусит иногда при движении)) ну ниче) но когда увеличевать его скорость - его вообще рвет) оно я так понял не хоходит до mpx и mpy и пытается туда долезть))) но не получается) как исправить?
Последний раз редактировалось JekelSkaz; 20.06.2010 в 17:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|