如何使用iPhone上的cocos2d处理包装的游戏世界

时间:2012-02-22 12:35:02

标签: iphone algorithm cocos2d-iphone

我有一个比视口大得多的游戏世界,主角一直停留在视口的中心,背景层被移动以给人一种移动角色的印象。我想让它成为游戏世界的包裹,意味着如果角色继续向左或向右行进,它们最终会回到起始位置。游戏世界中会有移动的实体,所以我预见的最大问题是,如果你去地图的最右边,你应该能够看到位于最左边第一个小部分内的任何移动实体。地图。

我已经考虑了一下这个问题,而我提出的任何解决方案似乎都太复杂了。就像创建两个相同的游戏世界并相应地移动它们一样。我希望有一个优雅的解决方案。您可以分享的任何专业知识都将受到高度赞赏。

我正在iPhone上使用cocos2d,以防万一。

2 个答案:

答案 0 :(得分:2)

一个例子可能是你的相机有一个x,y偏移量,以及一个精灵对象的多维数组。

当玩家移动时,偏移值会改变,例如xMove = -1.4和yMove = +2.6。

然后你会迭代并改变所有瓷砖的位置。

接下来,您将识别距离屏幕中心太远的精灵(0,0)并将它们重新定位到相反的一侧,这样它们将始终可见。

这将全部在相同的预定'tick'上完成,因此不会出现图形伪像。

我很惊讶没有人为cocos2d制作了可装饰的瓷砖地图。

答案 1 :(得分:1)

我无法给出cocos2d的具体建议,但我想说最常见的方法是创建一个游戏世界,多次绘制(部分)并确保你的碰撞和AI之类的逻辑在适当的地方检查环绕。

因此,如果您的玩家角色接近世界的角落,您将使用不同的偏移量绘制世界四次。实际上,当它只有一小部分出现在屏幕上时,实际上不需要绘制世界上每一件事物四次,而不是通常需要绘制整个世界。