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