Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   плавный поворот за мышкой (http://www.flasher.ru/forum/showthread.php?t=207529)

Dmitriy154 21.04.2014 19:48

плавный поворот за мышкой
 
Помогите разобраться с кодом.
Код AS1/AS2:

        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;
        }

Но это код AS 2.0, а мне бы AS 3. В частности не понимаю, что пишется в скобках цикла if и else

ZackMercury 21.04.2014 19:58

Для оформления своего кода следует использовать тег [as3].

caseyryan 21.04.2014 20:04

Код ас3 тут будет отличаться только отсутствием андерскора у свойства rotation
Код AS1/AS2:

_rotation

Код AS3:

rotation


samana 21.04.2014 20:58

И вместо &lt; и &gt; поставить < и >.

ZackMercury 21.04.2014 21:45

Цитата:

Сообщение от samana (Сообщение 1164158)
И вместо &lt; и &gt; поставить < и >.

Это что, тоже особенность AS2? :D

samana 21.04.2014 21:57

SuriTheAngel, а вдруг ТС так думает на всякий случай)

Dmitriy154 22.04.2014 18:36

Не получается
 
Подскажите кто может код плавного поворота мыши хоть в AS3

Akopalipsis 22.04.2014 18:52

Очень мало процентов, что Вам подскажут. Все бы делали при помощи анимации. То есть, обычный поворот, но поворачиваемый объект анимировать.

КорДум 22.04.2014 19:10

http://xitri.com/2009/02/27/vospomin...ie-na-cel.html
Здесь, откуда Вы и взяли этот код, все расписано и показано.

samana 22.04.2014 20:21

Можно и по-другому сделать. obj - ваш поворачиваемый объект.
p.s. Этот код должен быть на сцене.
Код AS3:

import flash.events.Event;
 
var speed:Number=5;
 
addEventListener(Event.ENTER_FRAME,ef);
function ef(e:Event):void
{
        var angToMouse:Number=Math.atan2(mouseY-obj.y,mouseX-obj.x) / Math.PI*180;
 
        if(obj.mouseY<0)
        {
                obj.rotation-=speed;
                if(obj.mouseY>0) obj.rotation=angToMouse;
        }
 
        if(obj.mouseY>0)
        {
                obj.rotation+=speed;
                if(obj.mouseY<0)obj.rotation=angToMouse;
        }
}



Часовой пояс GMT +4, время: 00:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.