2012-02-02 84 views
1

我目前正在开发2D手机游戏,我希望相机能够平移和放大和缩小。一种方法是将整个关卡渲染到后缓冲区,并简单地绘制一个区域并将其向上/向下缩放至设备屏幕。愤怒的小鸟有我正在寻找的用户可以缩小和看到整个关卡的效果。在移动设备上缩放2D游戏?

这需要大量的内存才能在整个级别上具有表面。另一种方法是缩小每个精灵并在视图中绘制它,但这可能需要比调整整个表面更多的渲染能力。

另一个选项类似于第一个,我可以有一个大的固定表面来渲染图像,而不是在整个关卡上有表面。同样,这会占用大量的内存,特别是如果用户想要缩小真正的距离。

我以前从未真正为手机开发过。缩放每个单独的图像是否太贵?我应该缩放每个精灵,然后渲染,或将大部分地图渲染到表面和缩小/高档表面?

回答

0

你不应该混淆你正在绘制的缓冲区的大小。你可以做的是调整视口大小,从而让更多的世界进入你的视口(从而结束在缓冲区)。精灵当然会更小,如果它变慢,你可以实现某种程度的细节(LOD),例如“当视口较大时,使用更小的,预先加载的图像绘制精灵” 。什么仍然会让解决方案变得缓慢/“效率低下”是因为你会吸引更多的精灵,但这不是你会遇到的问题。