【发布时间】:2013-12-31 16:30:36
【问题描述】:
我正在尝试构建一个 2D 太空射击游戏,其中玩家将在屏幕底部保持不变并左右移动。当玩家发射子弹(射弹)时,子弹会向上弹起,但它又会回来。此外,如果两颗子弹相撞,它们也会对碰撞做出反应。
我有两个问题:
如何确保子弹不会反弹? (一种方法是几秒钟后将其销毁,但不确定这是否正确)
如何避免子弹之间的碰撞。
这是我的代码 sn-p:
void Update () {
if (Input.GetButtonDown("Fire1"))
{
Rigidbody2D clone = (Rigidbody2D)Instantiate(bullet, transform.position + transform.up, transform.rotation);
clone.velocity = transform.TransformDirection(Vector3.up * 20);
}
}
我对 Unity 非常陌生,并且通过查看 Unity 论坛以某种方式编写了此代码。非常感谢任何帮助。
谢谢
更多详情: 我已经创建了子弹并为此对象添加了 Rigidbody2D 和 BoxCollider2D。将子弹对象制作为预制件,然后将其拖到 Player 对象下。现在子弹是 Player 对象的子对象。将上面的脚本附加到 Player 对象。
【问题讨论】:
标签: unity3d