尽管可以编译,但我的脚本无法运行。当游戏对象与名称为“ Coin”的游戏对象碰撞时,它应在控制台中Debug.log("my message")
,但不会记录任何消息,暗示没有与硬币发生碰撞。即使将其拖到游戏对象上,它也不会起作用。请帮忙。
这是代码:
using UnityEngine;
public class DestroyCoin : MonoBehaviour
{
//Detect collisions between the GameObjects with Colliders attached
void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "Coin") {
Debug.Log("Collision Detected");
}
}
}
答案 0 :(得分:0)
您需要使用“ OnCollisionEnter2D”。
答案 1 :(得分:0)
我已经解决了这个问题,不得不将某些东西的附加脚本更改为硬币(我将在一秒钟内显示新脚本。)向硬币中添加常规对撞机。也添加一个触发器对撞机。这是下面的代码!
'使用UnityEngine;
公共类DestroyCoin:MonoBehaviour {
private void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Player"))
{
Debug.Log("Collision Detected");
}
}
} <最后将其添加到脚本中。
感谢大家在这个漫长的过程中尽力帮助我并坚持下去。你们都带领我想到了这个主意。 <3