Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3+一个全局实例与多个实例_Actionscript 3_Air_Adobe - Fatal编程技术网

Actionscript 3 AS3+一个全局实例与多个实例

Actionscript 3 AS3+一个全局实例与多个实例,actionscript-3,air,adobe,Actionscript 3,Air,Adobe,我的主文档类目前有一个资产类的实例,它被设计为所有图像加载和访问的目标。这是我唯一的一个地方,我可以嵌入我的所有图像,并从那里开始。我的问题是,在我的主文档类中有一个全局实例,然后每当我创建一个类的新实例,该实例将使用Assets实例时,传递对主文档类的引用,还是应该让这些类负责实例化它们自己的Assets类 我希望这是有道理的。我正在寻找合适的编码、效率和更少的内存使用。您在资产类中描述的内容与我在游戏框架中使用的内容几乎相同。我认为这是一个非常合乎逻辑的方法。我不会让每个实体都管理自己的资产

我的主文档类目前有一个资产类的实例,它被设计为所有图像加载和访问的目标。这是我唯一的一个地方,我可以嵌入我的所有图像,并从那里开始。我的问题是,在我的主文档类中有一个全局实例,然后每当我创建一个类的新实例,该实例将使用Assets实例时,传递对主文档类的引用,还是应该让这些类负责实例化它们自己的Assets类


我希望这是有道理的。我正在寻找合适的编码、效率和更少的内存使用。

您在资产类中描述的内容与我在游戏框架中使用的内容几乎相同。我认为这是一个非常合乎逻辑的方法。我不会让每个实体都管理自己的资产,特别是因为您只需要引用每个资产中的一个,尤其是在像Starling这样的较新框架中,其中只有一个位图用作将其实例绘制到屏幕上的引用。这完全取决于其他要求。例如,在某些情况下可能需要某些资产,但在其他情况下则不需要,因此延迟加载方案更好,并且每个特定任务都可以更好地处理延迟加载方案,因此,请将资产设置为静态类,并使用静态方法引用。当然,所有的加载和准备工作都应该在内部进行,并且应该通过assets接口提供一组资产位图数据、精灵、形状等。在这种情况下,您的资产将位于一个位置,如果程序的某些部分共享了许多资产,它们将只加载一次。