我要创建的游戏是迷宫。简而言之,10x10海战中的2个场地,玩家轮流进行:他们可以从场地的一个单元格移动到任何相邻的单元格,构建所有访问单元格的“路线”。
问题是这样的:如何正确实现字段本身?我看到的额头上的想法:Field 字段精灵,它有 100 个带有碰撞器的子 FieldCell 对象和相应的脚本。但是,玩家仍然需要能够通过点击墙壁来布置迷宫的墙壁。10x10 的场地只有 81 面墙(不包括外面的墙)。结果总共有:2*(1+100+81)=364 个对象,在我看来,这是很多 => 方法是错误的。
那么如何实现这样的事情呢?也许您可以以某种方式获得相对于图像本身而不是屏幕/世界的单击图像的确切位置...
如果该领域的瓦片的所有图片都在一个图集中,那么它们在1个drawcall中渲染,理论上一百个都不是问题。我不明白为什么瓷砖需要脚本,数百个碰撞器(我不明白为什么),可能还有数百个更新,这真的很重。
获取点击坐标:
字段可以很容易地确定它是否被单击以及在哪个图块上:
FieldView 只负责视觉,FieldInteractive 负责触摸。业务逻辑由 FieldLogic 处理。交互式在单元格上发送点击事件,并且视图愚蠢地对逻辑脚本事件做出反应并自行更新。