![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2013
Сообщений: 8
|
вот тут есть пример, но по-моему он на AS2.0, пробовал перенести в AS3 не получается, вот мой код:
var stvol:Stvol=new Stvol(); //добавляем ружье var angle:Number=0; stvol.x = 275; stvol.y = 500; addChild (stvol); addEventListener(Event.ENTER_FRAME, stmous); function stmous(e:Event):void{ angle = int(Math.atan2(stage.mouseY - 500, stage.mouseX - 275) * 180 / Math.PI); stvol.rotation = angle; } PS: в том примере готовый вариант внизу показан |
|
|||||
|
Регистрация: Dec 2013
Сообщений: 8
|
перейдите по ссылке, там в конце страницы пример как мне надо, плавное движение объекта, за курсором, который привязан к координатам, типа ствол двигает за курсором мышки
|
|
|||||
|
По ссылке, тот код, что отвечает за медленный поворот сторону мыши вот -
rotToMouseSpeed = 3;//скорость поворота function onEnterFrame() { mDx = _xmouse - body._x; mDy = _ymouse - body._y; mAngle = Math.atan2(mDy, mDx); //получаем угол между мышкой и башней в градусах mAngleD = mAngle / Math.PI * 180; //сколько градусов нехватает для полного поворота на мышь dAngleD = body._rotation - mAngleD; //без этой проверки башня будет неправильно крутиться //при переходе границы -180 и +180 градусов if (dAngleD > 180) { dAngleD = -360 + dAngleD; } else if (dAngleD < -180) { dAngleD = 360 + dAngleD; } //поворачиваем башню с нашей скоростью if(Math.abs(dAngleD) < rotToMouseSpeed) { body._rotation -= dAngleD; } else if(dAngleD > 0) { body._rotation -= rotToMouseSpeed; } else { body._rotation += rotToMouseSpeed; } } |
|
|||||
|
Регистрация: Dec 2013
Сообщений: 8
|
да уже получилось, спасибо
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:47. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| плавное движение объекта. |
|
|