我正在进行2D,Top-Down游戏。
当我按空格键并且敌人在玩家的一定距离内时,我希望能够对敌人造成伤害。
此时代码会让敌人慢慢向玩家移动,并在玩家碰撞时对其造成伤害。当我击中空格键时,敌人被摧毁但我希望只有当敌人与玩家关闭时才会受到伤害。
这是我目前的敌人代码,有一个健康系统设置:
var Player : Transform;
var MoveSpeed = 4;
var MinDist = 5;
var Health = 100;
var anyValue = 100;
function Update ()
{
transform.LookAt(Player);
if(Vector2.Distance(transform.position,Player.position) >= MinDist)
{
transform.position += transform.forward*MoveSpeed*Time.deltaTime;
}
{
if(Health <= 0)
{
Dead();
}
}
if (Vector3.Distance(transform.position, Player.position) < someValue && Input.GetKeyDown(KeyCode.Space))
{
ApplyDamage(someValue);
}
}
function ApplyDamage (TheDamage : int)
{
Health -= TheDamage;
}
function Dead ()
{
Destroy (gameObject);
}
答案 0 :(得分:1)
我找到了解决方案。
要在一定距离内施加伤害我需要这个:
if (Vector3.Distance(transform.position, Player.position) < 1.25
&& Input.GetKeyDown(KeyCode.Space))
{
ApplyDamage(5);
}