因此,我正在移植一个游戏,在AIR移动中为web flash构建(使用FlashDevelop)。现在,我有一个首先运行的类,它以位图的形式生成矢量图形,并根据需要调整它们的大小。然后,所有这些位图(实际上是BitmapData)都存储在向量中。这个类是一个Singelton类的对象,它允许我轻松地访问存储的BimapData。
另外,我使用FlashPunk作为游戏引擎。
现在,我已经创建了大约16个BitmapData,并将它们存储在那个类中,一切都很好。但是,我在新的BitmapData对象中添加的下一个Vector不能正常工作。在RenderScreen中一切正常,但是一旦游戏开始,例如点击开始游戏,它应该返回BitmapData来创建菜单,但它报告"ArgumentError: Error #2015: Invalid BitmapData“
可能的问题是什么?所讨论的BitmapData是使用draw()从矢量图形创建的,根据需要缩放,初始宽度为1024px,高度为120px。此外,游戏运行大约40Mb的内存,所以大小不是问题…
你知道为什么会显示这个错误吗?
编辑:我发现了这个问题并解决了它。如何结束这个问题?
发布于 2012-10-21 10:56:26
我敢打赌这一定是记忆问题。错误2015是因为其中一个维度无效(宽度或高度<1 ),或者因为没有足够的内存来创建BitmapData。
在尝试创建冲突的BitmapData之前,System类有几个属性可以帮助您调试内存的状态;)
如果你发现这实际上是一个记忆问题,除了戴一顶新帽子,你将不得不重新考虑你缓存这些精灵的方式……尝试只缓存应用程序的每个阶段所需的部分,在需要创建更多内容之前将它们处理掉,等等。祝你好运!
https://stackoverflow.com/questions/12992160
复制相似问题