Хорошо, у меня есть две части кода для импорта. Этот первый маленький кусочек - это то, что создает объект с именем 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.
При загрузке изображения с помощью Loader
оно сохраняется как объект типа DisplayObject
.
Если вы хотите, чтобы он вращался, просто установите свойство вращение
.
Чтобы применить матрицу, вы можете использовать метод transform() объекта DisplayObject.
Вам также следует обратить внимание на классы BitmapData (необработанные данные изображения) и Bitmap (DisplayObject для хранения BitmapData). В зависимости от сложности того, что вы пытаетесь сделать, они могут служить вам лучше. В частности, BitmapData позволит вам заблокировать () изображение, пока вы возитесь с его битами. Flash не будет отображать BitmapData до тех пор, пока вы его не разблокируете(), что может значительно улучшить производительность, если вы много возитесь.