每当爆炸粒子效果出现在玩家一定距离之内时,我都会尝试销毁玩家。这是我尝试过的,并且此脚本已添加到爆炸预制中:

using UnityEngine;
using System.Collections;

public class ExplosionController : MonoBehaviour {


GameObject playerObj;
Transform player;
Transform playerPos;

// Use this for initialization
void Start () {


    player= GameObject.FindGameObjectWithTag("Player").transform;
    playerObj = GameObject.FindGameObjectWithTag("Player");


}
void Update()
{
    float playerDis = Vector3.Distance(player.position, transform.position);

    if (playerDis == 4)
    {
        Debug.Log(playerDis);
        Destroy(playerObj);
    }

}

}


我在最底层条件下进行的Debug尝试没有产生任何控制台输出,因此我假设我在playerDis变量中犯了一个错误。

最佳答案

我无法发表评论,因为我还没有50点声望,但是我会更改您的

if (playerDis == 4)




if (playerDis <= 4)


这应该捕获可能不完全等于4.00 ....的任何冲突,因为Update的调用速度可能不够快。

关于c# - 试图使用Vector3.distance销毁我的播放器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35588183/

10-13 07:06