unity自学的第四天

一、敌人类的脚本

1、HP组件(生命)
2、fight组件(攻击)
3、enemymove组件(移动)

二、具体代码

1.HP

public class HP : MonoBehaviour
{
    public int hppoint = 100;
    void Update()
    {
        if (hppoint <= 0) Destroy(gameObject);//gameObject为物体
    }
    public void HpCutdown(int x)//掉血
    {
        hppoint = hppoint - x;
    }
}

2.Fight

public class fight : MonoBehaviour
{
    private void OnCollisionEnter(Collision collision) {
        if (collision.gameObject.tag == "Player")//如果碰撞到标签为“Player”就执行下面的
        {
            collision.gameObject.GetComponent<HP>().HpCutdown(100);
        }

    }

}

3.Enemymove

public class enemymove : MonoBehaviour
{
    GameObject go;
    public float speed;
    public float look = 100;

    void Update()
    {
        go = GameObject.FindGameObjectWithTag("Player");
        Vector3 vec = go.transform.position - this.transform.position;//要去的位置减去现在的位置
        float length = vec.sqrMagnitude;//路径长度
        vec.y = 0;
        if (length < look)
        {
            transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(vec), 0.3f);//转向标签为“Player”的游戏对象
            transform.position = transform.position + this.transform.forward * speed * Time.deltaTime;
        }

    }
}

总结

要不断加强对三维数学的学习,对于敌人移动的计算还要继续深入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值