在更大的背景上处理玩家移动

Moe*_*ram 6 iphone objective-c cocos2d-iphone ios parallax

我正在构建一个2D游戏,其中玩家不断向上移动,当玩家达到可见的最大高度(例如480)时,该层向下移动.但问题是当我在高度上添加更大的背景(例如8192)时,我的FPS会下降.我的问题是:

  1. 我应该一次又一次地重复使用相同的背景,还是应该寻找其他的东西?

  2. 我已经了解了TileMaps,他们的驾驶室是一个非常庞大的层,可以通过iPhone轻松渲染.

  3. 我应该使用视差滚动吗?

Iva*_*Mir 1

您应该将大背景切成相等的小背景。

您很可能不需要平铺地图来进行垂直滚动。只需将较小的背景添加到数组中,并仅显示玩家可见的背景即可。

在这个例子中,我只更新BG1,BG2BG3部分。当BG1离开屏幕时,我会将其删除并添加到BG4上面BG3BG5BG6等也同样如此。

滚动

您还可以通过对具有较小背景部分的数组进行排序来创建无限循环背景。

视差滚动的使用取决于您的游戏艺术。视差效果是由两个或多个以不同速度滚动的背景层创建的。观看一些 视频以更好地理解它。