Actionscript: Как повернуть внешнее изображение в формате png с помощью матрицы? - PullRequest
1 голос
/ 25 августа 2010

Хорошо, у меня есть две части кода для импорта. Этот первый маленький кусочек - это то, что создает объект с именем 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.

Ответы [ 2 ]

1 голос
/ 25 августа 2010

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

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

1 голос
/ 25 августа 2010

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

Если вы хотите повернуть его, просто установите rotationсвойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...