Actionscript: как повернуть внешнее изображение png с помощью матрицы?

Хорошо, у меня есть две части кода для импорта. Этот первый маленький кусочек - это то, что создает объект с именем OBJECT_arrow. Он находится в главной функции моего основного класса:

new OBJECT_arrow().CREATE(this,200,200);

Это не так уж важно. Теперь этот следующий бит - класс OBJECT_arrow. Он загружает внешнее изображение в формате png и рисует его.

package
{
    import flash.net.URLRequest;
    import flash.display.*;
    import flash.system.*;
    import flash.events.*;
    import Math;
    public class OBJECT_arrow extends Sprite
    {
        public var X:Number = 0;    public var Y:Number = 0;
        public var DEPTH:int = 0 ;
        public var CONTAINER:Sprite = new Sprite();
        public var imageLoader:Loader = new Loader();
        public var image:URLRequest = new URLRequest ('ARROW.png');
        public function CREATE(CONTAINER:Sprite,X:Number,Y:Number):void
        {
            this.X = X;     imageLoader.x = this.X;
            this.Y = Y;     imageLoader.y = this.Y;
            this.CONTAINER = CONTAINER;
            CONTAINER.stage.addEventListener(Event.ENTER_FRAME,STEP);
            imageLoader.load(image);
            DRAW();
        }

        public function STEP(event:Event):void
        {
            DRAW();
        }

        public function DRAW():void 
        {
            addChild (imageLoader);
            (CONTAINER as MAIN).DRAW_LIST[(CONTAINER as MAIN).DRAW_LIST.length] = this;
            (CONTAINER as MAIN).DRAW_LIST[(CONTAINER as MAIN).DRAW_LIST.length] = DEPTH;
        }
    }
}

Теперь я знаю математику, стоящую за вращением, и знаю, как вращаться, прежде чем я переведу, и все, но я просто не знаю, как применить преобразование к внешнему изображению в as3.

1
задан user421215 25 August 2010 в 05:50
поделиться

2 ответа

При загрузке изображения с помощью Loader оно сохраняется как объект типа DisplayObject.

Если вы хотите, чтобы он вращался, просто установите свойство вращение .

1
ответ дан 2 September 2019 в 21:53
поделиться

Чтобы применить матрицу, вы можете использовать метод transform() объекта DisplayObject.

Вам также следует обратить внимание на классы BitmapData (необработанные данные изображения) и Bitmap (DisplayObject для хранения BitmapData). В зависимости от сложности того, что вы пытаетесь сделать, они могут служить вам лучше. В частности, BitmapData позволит вам заблокировать () изображение, пока вы возитесь с его битами. Flash не будет отображать BitmapData до тех пор, пока вы его не разблокируете(), что может значительно улучшить производительность, если вы много возитесь.

1
ответ дан 2 September 2019 в 21:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: