GetComponent <rigidbody>()。Unity中的AddExplosionForce没有工作

时间:2015-10-28 00:02:38

标签: unity3d

我正在使用Stickybombs在Unity中制作一个小游戏。我做到这一点,当你按下右键单击时,粘性炸弹爆炸,自我毁灭,并实例化爆炸的粒子效果。以下是代码:

void Update () {
    if(Input.GetButtonDown("Fire2")) {
        GetComponent<Rigidbody>().isKinematic = false;
        GetComponent<Rigidbody>().AddExplosionForce(explosionForce, transform.position, explosionRadius, 3.0f);
        Destroy(gameObject);
        Instantiate (Explosion, transform.position, new Quaternion(0, 0, 0, 0));
    }

}

然而,行GetComponent()。AddExplosionForce(explosionForce,transform.position,explosionRadius,3.0f);没有做任何事情。我做错了吗?

这是变量。提前致谢:D

&#13;
&#13;
public GameObject Explosion;
private float explosionForce = 300;
private float explosionRadius = 15f;
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我之前的评论,转换为答案:

不知道它是否可以提供帮助,但是一旦调用AddExplosionForce就会销毁该对象。这样,您就没有时间模拟爆炸效果,因为对象会立即被破坏。你有没有试过删除Destroy()电话,看看有什么好吃的?

旁注:我建议最后调用Destroy()函数,并使用延迟作为示例。