【发布时间】:2015-02-27 00:54:23
【问题描述】:
我实际上正在使用 unity 开发一款棋盘游戏。这是一个棋盘游戏,玩家必须通过声称空的六边形箱子来连接两个对立的边界。边界在开始时分配给玩家。
我选择用宝石表示我的空箱子,无人认领时为白色,玩家为红色或蓝色。所以我为所有宝石制作了一个预制件。
为了检查宝石本身和边界之间的连接,我为它们分配了稍大的盒子碰撞器,以便它们与其他物体发生碰撞(触发),这样我就可以检测到声明的宝石是否(直接或不)连接到边界.我写这段代码一般是因为 gems 是一个单独的预制件,天真地认为每个实体都会运行自己的脚本版本。但事实并非如此。
所以我正在寻找一种替代方法来检测与边界的连接,但仍然是通用的,因为板的大小是可变的。
提前致谢!
【问题讨论】:
-
我鼓励您将此问题缩短为具体问题。有很多不相关的额外信息,您可能会被关闭。
-
你的问题看起来很有希望和有趣,但我同意@RufusL,请改进你的问题。
-
您需要做的是创建一个算法,该算法将在每次移动时查看棋盘。我不应该使用碰撞检测。我希望我能帮你做一个,但我不知道怎么做。我只知道这就是你需要的。您需要类似于 19 x 19 数组或列表的东西。然后每回合都让您的游戏使用该列表进行所需的所有更改。前任。 A1 为红色,A2 为蓝色,B2 为蓝色。然后填写你的游戏在这种情况下需要做什么。
-
这是我的第二个想法。但我无法想象我将如何处理所有这些预制件(最大的板上几乎有 200 颗宝石)。我不能轻易使用位置,因为我的板不是正方形或矩形。但我可能有一个想法,如果有一种方法可以计算预制件或标记它们以指示它们在板上的位置,而无需重写代码或为所有 200 个预制件创建特定对象..