在移动设备上缩放2D游戏?

时间:2012-02-02 07:13:33

标签: c++ mobile graphics rendering

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

这需要大量的内存来为整个关卡设置一个表面。另一种方法是缩小每个精灵并在视图中绘制它,但这可能比调整整个表面的尺寸需要更多的渲染能力。

另一个选项类似于第一个选项,我可以使用大的固定表面来渲染图像而不是整个关卡的表面。同样,这将占用大量内存,特别是如果用户想要缩小到极远。

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

1 个答案:

答案 0 :(得分:0)

你不应该弄乱你要绘制的缓冲区的大小。你可以做的是调整视口大小,从而使更多的世界适合你的视口(从而最终在缓冲区)。精灵当然会更小,如果你变慢,你可以实现某种程度的细节(LOD),例如“当视口较大时,使用较小的预加载图像绘制精灵” 。什么仍然使解决方案缓慢/“低效”是你将绘制更多的精灵,但这不是你会得到的东西。