如何解决Unity 2d 中的碰撞检测
我正在处理我的第一个 Unity 项目。这是一个小游戏,你必须移动你的星球来躲避即将到来的小行星。
我已经设置了一个简单的碰撞检测系统,但目前它不起作用,我不完全确定原因。
这些是代码行,它们在行星的运动脚本上,附加到我的游戏对象行星上:
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;
}
}
当行星与任何小行星相撞或小行星彼此相撞时,什么都不会发生,如果这很重要,我不完全确定原因。
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。