![]() |
|
||||||||||
|
|||||
|
Делаю сейчас одну игрушку в которой объект движется по заданному пути, от точки к точке. Но на большой скорости становится заметным угловатость этого движения. Как можно это исправить? Чтобы объект на любой скорости двигался плавно?
Вот код который есть пока: var speed:uint = 5; var velX:Number; var velY:Number; var pointNum:uint; var points_arr:Array = new Array(); fillArray(); ball_mc.addEventListener(Event.ENTER_FRAME, moveBall); function fillArray():void { for(var i:uint; i< this.numChildren; i++) { if(getChildAt(i).name == "point" + i) { points_arr.push(getChildAt(i)); } } trace(points_arr.length); } function moveBall(e:Event):void { var dx = points_arr[pointNum].x - ball_mc.x; var dy = points_arr[pointNum].y -ball_mc.y; var dist = Math.sqrt(dx*dx+dy*dy); //var angle = Math.atan2(dy, dx); //movieClip1_mc._rotation = angle*180/Math.PI; if (dist>speed) { velX = dx/dist*speed; velY = dy/dist*speed; ball_mc.x += velX; ball_mc.y += velY; } else { if(pointNum < points_arr.length-1) { trace("Point CHANGED"); pointNum++; } else { //e.target.removeEventListener(Event.ENTER_FRAME, moveBall); pointNum = 0; } } } |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
я делал через Bezier
__________________
low + |
|
|||||
|
а кокой нибудь примерчик кода можно?
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
не найду =)
но суть такова - по точкам строим кривую безье (я пользовался безье Дембицкого) а дальше по ENTER_FRAME делаем приращение времени (скорость), получаем новую точку на нашей кривой, и размещаем там объект
__________________
low + |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
|
|
|||||
|
а можно у них как то эту библиотеку вытянуть без настройки SVN? работаю в Flash IDE
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
|
|
|||||
|
извиняюсь за нубовский вопрос, но как открыть swc? Никогда с ним не работал. Пробовал при помощи winRar, но классов внутри не обнаружил, только xml и swf
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Первая страница гугла: http://www.infogroupindia.com/blog/posts/513
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|