Actionscript 3 在ActionScript3中嵌入位图

Actionscript 3 在ActionScript3中嵌入位图,actionscript-3,actionscript,bitmap,embed,Actionscript 3,Actionscript,Bitmap,Embed,如何在Actionscript 3中嵌入位图并获取位图数据 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 = ne

如何在Actionscript 3中嵌入位图并获取位图数据

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:尝试在非构造函数上实例化。

如果我使用

[EMBED(source=“Assets/helicopter1.png”)]私有静态变量BMClass:BitmapData

或者类似的东西,BitmapData为空

编辑:


所以我发现嵌入的数据是空的,但我不知道为什么。我在嵌入过程中做错了什么?

您不需要实例化为位图数据并绘制-您可以简单地:

[Embed(source="Assets/helicopter1.png")]
private var AssetClass:Class;

var bitmap:Bitmap = new AssetClass();

如果转码时没有出现错误,看起来您是正确嵌入的。您应该能够直接从位图获取位图数据:

[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;

在某些编辑器中(至少在我的Intellij版本中),嵌入标记区分大小写。我在使用[EMBED]时遇到了与您完全相同的错误,但当我切换到[EMBED]时效果非常好
i get
TypeError:Error#1007:尝试在非构造函数上实例化
您是否仍在按照示例进行嵌入而不是嵌入?这似乎是其他所有人的正确答案,因此我将接受我将其作为位图使用
BM=new BMClass()。我不知道为什么它以前不起作用,但现在起作用了。谢谢你的帮助。太好了,很高兴你分类了:)正如我上面所说的,我不能做
newassetclass()