【发布时间】:2018-10-25 08:29:00
【问题描述】:
我有一个小问题。我正在尝试当你射击敌人时它会失去生命值,所以我有 2 个脚本,一个在相机中,因为它的 fps 造成伤害,另一个在敌人的生命值中。问题是我试图减去对健康的损害,但该消息出现在代码中,在 target.takeDamage(damage) 谢谢
我的代码:
相机
void shoot(){
RaycastHit hit;
//Raycast desde la camara, hacia delante, la informacion del raycast y con el rango que le demos
if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range)) {
Debug.Log(hit.transform.name);
//A quien hemos impactado (), y lo llamamos target
EnemyBase target = hit.transform.GetComponent<EnemyBase>();
//Comprobamos si lo que hemos impactado es un enemigo
if(target !=null){
//Si lo es le mandamos la variable de daño
target.TakeDamage(damage);
}
}
}
敌人:
public void TakeDamage() {
vidaEnemigo -= damage;
if(vidaEnemigo <= 0f){
Die();
}
}
void Die(){
Destroy(gameObject);
}
【问题讨论】: