gpt4 book ai didi

actionscript-3 - as3中动态加载图形的问题

转载 作者:行者123 更新时间:2023-12-04 15:36:55 25 4
gpt4 key购买 nike

我制作了一些游戏,我使用了很多图形。
我制作了具有所有图形的类,例如菜单:

public class MenuGFX 
{
[Embed(source = '../../assets/graphics/menu/background.png')]
public static const backgroundGFX:Class;
[Embed(source='../../assets/graphics/menu/startD.png')]
public static const startDGFX:Class;
[Embed(source='../../assets/graphics/menu/startO.png')]
public static const startOGFX:Class;
[Embed(source='../../assets/graphics/menu/startU.png')]
public static const startUGFX:Class;

}

要从中加载图形,我使用函数:
public class GraphicsLoader
{
private static var graphicsDictionary:Dictionary = new Dictionary();

public static function getGraphic(name:String):Bitmap
{

var bitmap:Bitmap = graphicsDictionary[name];
if (bitmap == null)
{

var cls:Object = getDefinitionByName("Graphics::" + name) ;
bitmap = new (cls);
graphicsDictionary[name] = bitmap;
}
return bitmap;
}

}

但这仅在我添加手动创建一些图形时才有效: private var backgroundBitmap:Bitmap = new MenuGFX.backgroundGFX;加载器类:
public class GraphicsLoader
{
private static var graphicsDictionary:Dictionary = new Dictionary();

private var backgroundBitmap:Bitmap = new MenuGFX.backgroundGFX;

public static function getGraphic(name:String):Bitmap
{

var bitmap:Bitmap = graphicsDictionary[name];
if (bitmap == null)
{

var cls:Object = getDefinitionByName("Graphics::" + name) ;
bitmap = new (cls);
graphicsDictionary[name] = bitmap;
}
return bitmap;
}

}

我正在寻找避免制作 private var someBitmap:Bitmap = new BitmapName; 的方法.你知道我该如何处理吗?

最佳答案

类(class)MenuGFX如果您的项目源代码中没有引用/使用该类本身,则不会将其编译到您的 SWF 中。调用 new MenuGFX 应该就够了在您的应用程序中的某个地方(可能在您的 Main 类中)。编译器必须知道这个类将在你的应用程序的某个地方使用,否则它将被忽略。

关于actionscript-3 - as3中动态加载图形的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6203944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com