Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使一个二维对象穿过另一个对象并检测是否发生碰撞?_C#_Unity3d - Fatal编程技术网

C# 如何使一个二维对象穿过另一个对象并检测是否发生碰撞?

C# 如何使一个二维对象穿过另一个对象并检测是否发生碰撞?,c#,unity3d,C#,Unity3d,我正在创建一个2D滑雪板游戏,其中将有雪球,你将不得不躲避,如果你被雪球击中,它将消失并减去分数 我尝试创建两个名为Player和Ball的游戏对象,用于检测碰撞的代码如下所示 void Update { if (Player.transform.position.x == Ball.transform.position.x) score--; } 我不确定是否应该创建OnCollisionCenter,但我不确定如何创建它。使用OnTri

我正在创建一个2D滑雪板游戏,其中将有雪球,你将不得不躲避,如果你被雪球击中,它将消失并减去分数

我尝试创建两个名为Player和Ball的游戏对象,用于检测碰撞的代码如下所示

void Update
{
   if (Player.transform.position.x == Ball.transform.position.x)
                        score--;
}

我不确定是否应该创建OnCollisionCenter,但我不确定如何创建它。

使用OnTriggerCenter或OnCollisionCenter

如果游戏对象有碰撞器,那么OnCollisionCenter事件是一个好主意。我该如何做,当我尝试过它只是让雪球击中玩家时,我希望它一旦重叠,球就会消失,减去分数触发器就是你想要的: