我有一个小问题。我试图在射击敌人时失去生命,所以我有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);
}
答案 0 :(得分:1)
您的public override void ViewWillAppear(bool animated) {
base.ViewWillAppear(animated);
CapturedResultScrollView.Setup(CapturedResults);
}
函数不接受任何参数,但是您尝试传递一个参数。给它一个参数(我猜您想要一个TakeDamage
或int
这里):
float