RayCasting 无法检查相邻块的特定状态
Trouble with RayCasting to check neighboring blocks for a specific state
抱歉这个问题太长了。我正在制作一个简单的游戏,您可以在其中单击一个立方体并将其 material 更改为某种颜色(即 dirt/grass >> 水和水砖旁边的任何污垢 "tiles"(基本)会自动变成黄色)。这些颜色通过使用 int 值来标识状态来保留。
我未能在 C# 中使用二维数组来存储这些立方体,因此我尝试使用光线投射来检查这些相邻关系。所有的立方体都在一个 y=0 的平面上,它们的 l=1m。
这是检查邻居的代码。
这是开始的游戏板,所有的瓷砖都变成了泥土。这意味着当我单击一个图块时,它应该变成蓝色(正在工作),然后周围的棕色图块应该将它们的状态更改为 3,从而将它们变成黄色。然而,这就是发生的事情。
首字母:
点击一个图块后:
我添加了一些调试控制台写入来尝试提供帮助,但个人运气不佳。
他们在这里:
感谢您提供的任何帮助。我是 c# 的新手,遇到了很多麻烦!
通过将我的光线投射更改为
check(tr,transform.forward)
而不是
check(tr,(tr+transform.forward))
我能够从正确的位置投射光线。仍然有点困惑,但它有效。
抱歉这个问题太长了。我正在制作一个简单的游戏,您可以在其中单击一个立方体并将其 material 更改为某种颜色(即 dirt/grass >> 水和水砖旁边的任何污垢 "tiles"(基本)会自动变成黄色)。这些颜色通过使用 int 值来标识状态来保留。
我未能在 C# 中使用二维数组来存储这些立方体,因此我尝试使用光线投射来检查这些相邻关系。所有的立方体都在一个 y=0 的平面上,它们的 l=1m。
这是检查邻居的代码。
这是开始的游戏板,所有的瓷砖都变成了泥土。这意味着当我单击一个图块时,它应该变成蓝色(正在工作),然后周围的棕色图块应该将它们的状态更改为 3,从而将它们变成黄色。然而,这就是发生的事情。
首字母:
点击一个图块后:
我添加了一些调试控制台写入来尝试提供帮助,但个人运气不佳。
他们在这里:
感谢您提供的任何帮助。我是 c# 的新手,遇到了很多麻烦!
通过将我的光线投射更改为
check(tr,transform.forward)
而不是
check(tr,(tr+transform.forward))
我能够从正确的位置投射光线。仍然有点困惑,但它有效。