我正在制作一款动作游戏,我想知道舞台的最大尺寸应该是多少(我的是 660 x 500)。
另外我想知道游戏精灵应该有多大。目前我最大的精灵大小为 128 x 128,我在互联网上的某个地方读到,由于性能问题,你不应该把它变大。
如果你想用冲击波进行例如大爆炸,即使 128 x 128 看起来也不是很大。我绝对可以用于精灵的最大尺寸是多少?我找不到任何真正的解决方案,所以我很感激我能得到的每一个提示,因为这个话题让我有点紧张。
我正在制作一款动作游戏,我想知道舞台的最大尺寸应该是多少(我的是 660 x 500)。
另外我想知道游戏精灵应该有多大。目前我最大的精灵大小为 128 x 128,我在互联网上的某个地方读到,由于性能问题,你不应该把它变大。
如果你想用冲击波进行例如大爆炸,即使 128 x 128 看起来也不是很大。我绝对可以用于精灵的最大尺寸是多少?我找不到任何真正的解决方案,所以我很感激我能得到的每一个提示,因为这个话题让我有点紧张。
引用自:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html
http://kb2.adobe.com/cps/496/cpsid_49662.html
显示对象:
Flash Player 10 将位图的最大尺寸增加到最大像素数 16,777,215(相当于 0xFFFFFF 的十进制数)。还有一个单边限制为 8,191 像素。
允许的最大方形位图为 4,095 x 4,095 像素。
编译为 SWF 9 目标并在 Flash Player 10 或更高版本中运行的内容仍受 Flash Player 9 限制(2880 x 2880 像素)的约束。
在 Flash Player 9 和更早版本中,限制是高度为 2880 像素,宽度为 2,880 像素。
阶段
Flash Player 10 中可用的舞台大小限制约为 4,050 x 4,050 像素。但是,舞台的可用大小取决于 QUALITY 标签的设置。在某些情况下,当舞台大小接近 3840 像素范围时,可能会看到图形伪影。
如果您正在寻找硬数字,Jason 的答案可能是您将要做的最好的。不幸的是,我认为为您的问题获得真正答案的唯一方法是构建您的游戏并进行一些性能测试。sprite 贴图的文件大小和尺寸会影响 RAM/CPU 使用率,但多少将取决于舞台上有多少 sprite、它们如何交互以及您要部署的平台。 .
较小的舞台有时会让您获得更好的性能(您往往会展示更少的东西),但更重要的是您如何使用它。此外,舞台大于 800x600 的游戏可能会关闭潜在的赞助商(如果您在游戏中走这条路),因为它不适合他们的门户网站。
Most of my sprite sheets use tiles less than 64x64 pixels, but I have successfully implemented a sprite with each tile as large as 491x510 pixels. It doesn't have a super-complex animation, but the game runs at 60fps.
Bitmap caching is not necessarily the answer, but I found these resources to be highly informative when considering the impact of my graphics on performance.
http://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c36c11f3d612431904db9-7ffc.html and a video demo: http://tv.adobe.com/watch/adobe-evangelists-paul-trani/optimizing-graphics/
Also, as a general rule, build your game so that it works first, then worry about optimization. A profiler can help you spot memory leaks and CPU spikes. FlashDevelop has one built in, or there's often a console in packages like FlashPunk, or the good old fashioned Windows Task Manager can be enough.
That might not be a concrete answer, but I hope it helps.