Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как описать вращение объекта в классе? (http://www.flasher.ru/forum/showthread.php?t=132998)

ckolko 25.11.2009 02:07

Как описать вращение объекта в классе?
 
Доброго времени суток!
Есть несколько геометрических фигур,коотрые необходимо дрэг энд дропом перемещать по сцене и поворачивать скролом мыши либо какими нить клавишами.
Пытаюсь написать класс для всех этих объектов гыгы как реализвоать перемещение понятно а вот со второй частью пробеммы.я так понял on keyPress в классе нельзя описать?Буду благодарен если кто-нибудь ткнет во что-нибудь похожее.
Мысл:

[nopaste]
Код AS1/AS2:

class Drag extends MovieClip
{function Drag(){   
    onPress=doDrag;
    onRelease=doDrop;
    ивент=doRotate();
        }
private function doDrag():Void{
    this.startDrag(true);}
private function doDrop(){
    this.stopDrag();}
private function doRotate(){
    this._rotation += 90;
};}

[/nopaste]

etc 25.11.2009 08:14

ckolko, оформите свой «мысл» тегами [as][/as].

Chuck607 25.11.2009 14:41

Попробуй так:
Код AS1/AS2:

class Test extends MovieClip {
        var a:MovieClip;
        var ang:Number;
        function Test(b:MovieClip) {
                this.a = b;
                a.onEnterFrame = function() {
                        if(Key.isDown(Key.LEFT)) {
                                this._x -=4;
                } else if(Key.isDown(Key.RIGHT)) {
                                this._x +=4;
                }else if(Key.isDown(Key.UP)) {
                                this._y -=4;
                }else if(Key.isDown(Key.DOWN)) {
                                this._y +=4;
                }
 
 
        }
        a.onPress = function():Void {
                this.onMouseMovefunction():Void {
        var rotate:Number = Math.atan2(_root._ymouse-this._y, _root._xmouse-this._x);
        this._rotation = (180/Math.PI)*rotate;
                }
};
a.onRelease = a.onReleaseOutside = function():Void {
delete onMouseMove;
};
        }
}


ckolko 26.11.2009 20:14

Маусмувом работает,прост это мне немного не подходит.Лан,напишу в фрейме,спасибо)


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

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