C# Unity 2d中的碰撞检测
我正在做我的第一个Unity项目。这是一个小游戏,你必须移动你的星球来躲避来袭的小行星 我已经建立了一个简单的碰撞检测系统,但它目前不起作用,我也不完全清楚为什么 这些是代码行,它们在星球的运动脚本上,附在我的游戏对象星球上:C# Unity 2d中的碰撞检测,c#,unity3d,collision-detection,game-engine,2d-games,C#,Unity3d,Collision Detection,Game Engine,2d Games,我正在做我的第一个Unity项目。这是一个小游戏,你必须移动你的星球来躲避来袭的小行星 我已经建立了一个简单的碰撞检测系统,但它目前不起作用,我也不完全清楚为什么 这些是代码行,它们在星球的运动脚本上,附在我的游戏对象星球上: private void OnTriggeredEnter2D(Collider2D collision) { if (collision.tag == "Asteroid") { restartPanel.SetAct
private void OnTriggeredEnter2D(Collider2D collision)
{
if (collision.tag == "Asteroid")
{
restartPanel.SetActive(true);
}
}
小行星是以这种方式在脚本中动态生成的预制体,附加到一个不可见的游戏对象上:
void Update()
{
float interval = Time.deltaTime;
random = Random.Range(0f, 1f);
Debug.Log(interval);
Debug.Log(random);
if (interval > random) {
GameObject newAsteroid = Instantiate(asteroidPrefab, GetRandomPosition(), Quaternion.identity);
newAsteroid.GetComponent<Gravity>().planet = planet;
}
}
void Update()
{
浮动间隔=Time.deltaTime;
随机=随机范围(0f,1f);
调试日志(间隔);
调试日志(随机);
如果(间隔>随机){
GameObject newAsteroid=实例化(asteroidprefate,GetRandomPosition(),Quaternion.identity);
newAsteroid.GetComponent().planet=planet;
}
}
当行星与任何小行星碰撞时,或者当小行星相互碰撞时,都不会发生任何事情,如果这很重要的话,我也不完全确定为什么
谢谢您的帮助。方法名称不正确,我搞砸了,应该是OnTiggerEnter2D,而不是OnTiggerEnter2D 哎呀