2

大家好,我在使用 cocos2d 设计带有网格的 iphone 游戏时遇到了一个小问题。

游戏需要在屏幕中间有一个 10x10 的网格(它没有覆盖整个屏幕)。在运行时绘制一条线,用户触摸网格中的两个点。

问题:tilemap 是解决这个问题的理想选择吗?因为我需要验证坐标是否属于网格,所以当用户触摸一个点时,tilemap 会有用吗?

问题:在 cocos2d 中有没有更好的方法来解决这个问题。请帮帮我。

谢谢

4

1 回答 1

0

我不建议为此使用 tilemap。就我个人而言,我会用数学来做这一切。

为了争论,让我们说你的网格正方形是 10px x 10px。

您现在可以立即知道每个正方形的矩形的位置。

右上角的正方形将是 (90, 0, 10, 10),这显然不包括网格的定位,但您可以通过添加.. (90+gridPos.x, 0+gridPos. y, 10, 10)。

然后你只需检查你的触摸是否与网格的矩形相交。

画一条线相当简单,我想你会从 2 个网格点的中心画它。

因此,如果线从右上角的网格正方形开始,它的初始点将从 (90+gridPos.x, 0+gridPos.y, 5, 5) 或 (90+gridPos.x, 0+gridPos.y, gridSquareHeight /2,gridSquareWidth/2)

使用 cocos2d 也很容易让每个方格成为可触摸的精灵,它可以在触摸时做出任何你喜欢的反应,将消息发送回代表,甚至只是做一个视觉效果。

解决这个问题有很多可能性。

于 2011-03-08T10:22:00.067 回答