Actionscript 3 as3中的动态载荷图形问题
我做了一些游戏,我用了很多图形。 我制作的类包含所有图形,例如菜单:Actionscript 3 as3中的动态载荷图形问题,actionscript-3,Actionscript 3,我做了一些游戏,我用了很多图形。 我制作的类包含所有图形,例如菜单: public class MenuGFX { [Embed(source = '../../assets/graphics/menu/background.png')] public static const backgroundGFX:Class; [Embed(source='../../assets/graphics/menu/startD.png')] public static
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-bitmappname的方法代码>。你知道我该如何处理这个问题吗?如果类本身在项目源代码中没有引用/使用,那么类菜单fx
将不会编译到SWF中。在应用程序中的某个地方(可能在主类中)调用newmenugfx
就足够了。编译器必须知道该类将在应用程序中的某个位置使用,否则将被忽略