Unity学习记录5——敌人简单AI检测

一、敌人检测玩家

首先,我们可以使用这个Physics2D这个类来进行侦测玩家

Physics2D他提供了很多模拟2D物理行为的方法~

代码如下:


    // 观察距离的偏移量——x轴
    protected float watchOffsetX;
    // 观察距离的偏移量——y轴
    protected float watchOffsetY;
    // 观察距离的区域大小
    protected Vector2 watchDistance; 
    // 当前物体的位置
    protected Vector2 watchPosition;

    protected override Collider2D WatchBox()
    {
        // 关于检测转向 当物体的x轴 > 0 代表右边 偏移量设置正值
        watchOffsetX = transform.localScale.x > 0 ? Mathf.Abs(watchOffsetX) : -Mathf.Abs(watchOffsetX);
        // enemy位置
        watchPosition = transform.position;
        // 检测盒子偏移量设置
        watchPosition.x += watchOffsetX;
        watchPosition.y += watchOffsetY;
        // 检测在指定区域内是否存在其他碰撞体
        return Physics2D.OverlapBox(watchPosition, watchDistance, 0, playerLayer);
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值