如何在ActionScript 3中嵌入位图并获取BitmapData?

public class MyGame extends Sprite {
    [EMBED(source="Assets/helicopter1.png")] private static var BMClass:Class;
    public function MyGame() {
        var BM:Bitmap = new BMClass();
        var BMData:BitmapData = new BitmapData(BM.width, BM.height);
        BMData.draw(BM)
    }
}


我已经尝试了一切。如果我尝试实例化嵌入式类(new BMClass();),则会收到此错误:

TypeError: Error #1007: Instantiation attempted on a non-constructor.

如果我用

[EMBED(source="Assets/helicopter1.png")] private static var BMClass:BitmapData;

或类似的东西BitmapData为null。

编辑:

因此,我发现嵌入式数据为空,但是我不知道为什么。嵌入时我做错了什么?

最佳答案

如果没有错误转码,看起来您正在正确嵌入。您应该能够直接从位图获取bitmapData:

[Embed(source="picture.jpg")]
private var Picture:Class;

// create a bitmap of the embedded
var pic:Bitmap = new Picture();

// add to display list
addChild(pic);

// if you need to get the bitmapData for something else
var bitmapData:BitmapData = pic.bitmapData;

关于actionscript-3 - 在ActionScript3中嵌入位图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10768780/

10-12 03:13