当爆炸粒子效果在玩家的某个距离内时,我正试图摧毁我的玩家。这是我尝试过的,这个脚本被添加到我的爆炸预制件中:
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);
}
}
}
我在底部条件下的调试尝试没有产生任何控制台输出,所以我假设我在playerDis
变量中犯了一个错误。
答案 0 :(得分:2)
我无法评论,因为我还没有50个声望点,但我会更改你的
if (playerDis == 4)
到
if (playerDis <= 4)
这应该捕获任何可能不完全等于4.00的碰撞....因为更新可能不会被足够快地调用。
答案 1 :(得分:1)
问题中的关键字为“在...内”。您应该寻找0到4之间的距离。所以:
<div ng-repeat="benefit in oe.oeBenefits">
<div class="oeInfo" style="clear: both;">
<div class="col-md-2 oeCol">
<img style="height: 160px; padding-top: 20px;" src="ppt/assets/beneTiles/HealthCare.svg">
</div>
<div class="col-md-5 oeCol">
<h1>{{ benefit.benefitName }}</h1>
<p>Maximum Election Amount: {{ benefit.benefitMax }}</p>
<p>Contributions to be made: {{ benefit.numberOfContributions }}</p>
<p ng-show="benefit.employerSeed != null">{{ benefit.employerSeed }}</p>
<p>link</p>
</div>
<div class="col-md-3 oeCol">
<p class="oeFeatures" style="font-weight: 800;">Available Features</p>
<ul>
<li ng-repeat="feature in benefit.Features">{{ feature.value }}</li>
</ul>
</div>
<p></p>
<div class="col-md-12">
<hr class="naviaHR100">
</div>
</div>
我认为你的距离永远不会等于4,因为Vector3.Distance()会返回一个浮点数。