2D游戏地图移动

时间:2012-07-05 16:00:19

标签: c++ map game-loop

我有一个2d随机生成的地图,用于一个由块组成的平台(正方形40 x 40)存储在30的数组中,我有一个推动功能来移动块周围推动改变xpos以及阵列上的位置我只是在阵列上画出5-25的位置。

当我移动时,我只会在屏幕的前半部分移动角色。因此,屏幕的中间部分和0xpos之间存在冲突,现在我遇到的问题是移动块。

我想不出一种方法来移动它们看起来很自然。关于如何做的任何想法?到目前为止,我已经拥有它,以便每次角色与屏幕的一侧碰撞相当于40像素的速度时,它会推动一个区块并随机地替换另一个区域。

2 个答案:

答案 0 :(得分:1)

使用某些物理引擎可以更好地实现这种效果。查看示例this one。这样的引擎确实简化了游戏开发的实时性,结果总是值得学习如何使用它们。

答案 1 :(得分:1)

不是试图通过数组移动所有块,而是使用标准队列可能更容易。

http://www.cplusplus.com/reference/stl/queue/

使用这种方法,您只需要处理屏幕上块的移动,并且可以在不再需要时从队列前面移除块,并在末尾添加另一块。