Scanvenger游戏制作笔记控制敌人的移动

Posted Lmz_0314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scanvenger游戏制作笔记控制敌人的移动相关的知识,希望对你有一定的参考价值。


前言

本文章是我学习SIKI学院Scanvenger项目所做笔记,原视频请自行搜索,
材质等相关资源请微信搜索SIKI学院公众号,回复120获取。源码也在里面。
游戏引擎:Unity3D2020.3
之前的Prefabs内容

一、创建敌人脚本和BoxCollider

二、修改碰撞脚本

三、修改移动脚本

public class Enemy : MonoBehaviour



    // 目标位置
    private Vector2 targetPosition;


    // 获取主角标签
    private Transform player;

    // 移动速度
    public float smoothing = 3;

    // 使用刚体控制运动
    private Rigidbody2D rigidbody;


    private void Start()
    
        player = GameObject.FindGameObjectWithTag("Player").transform;
        rigidbody = GetComponent<Rigidbody2D>();
        targetPosition = transform.position;
    


    private void Update()
    
        rigidbody.MovePosition(Vector2.Lerp(transform.position, targetPosition, smoothing * Time.deltaTime));


    

    public void Move()
    

        Vector2 offset = player.position - transform.position;     // 判断主角的偏移
        if (offset.magnitude < 1.1f)
        
            // 攻击
        
        else
        
            float x = 0, y = 0; // 默认移动都是0
            // 判断是离Y偏移还是X偏移
            if (Mathf.Abs(offset.y) > Mathf.Abs(offset.x))
            
                // 按照Y轴移动
                if(offset.y < 0)
                
                    y = -1;
                
                else
                
                    y = 1;
                

            
            else
            
                // 按照X轴移动
                if (offset.x > 0)
                
                    x = 1;
                
                else
                
                    x = -1;
                
                
            
            targetPosition += new Vector2(x, y);
        

    



四、存放所有敌人

在gameManager中找到所有的敌人

在enemy中存放所有敌人

通知GameManager玩家移动


设置玩家移动两步,敌人移动一步的规则
创建一个bool型记录玩家是否在休息

系列链接

Scanvenger游戏制作笔记(一)Unity3D状态机转换
Scanvenger游戏制作笔记(二)控制玩家操作
Scanvenger游戏制作笔记(三)Unity3D创建对墙体的攻击
Scanvenger游戏制作笔记(四)Unity3D控制角色吃食物
Scanvenger游戏制作笔记(五)控制敌人的移动
Scanvenger游戏制作笔记(六)Unity3D创建游戏UI的显示
Scanvenger游戏制作笔记(七)Unity3D控制游戏的失败
Scanvenger游戏制作笔记(八)Unity3D关卡胜利条件的判断
Scanvenger游戏制作笔记(九)Unity3D创建声音

以上是关于Scanvenger游戏制作笔记控制敌人的移动的主要内容,如果未能解决你的问题,请参考以下文章

Scanvenger游戏制作笔记Unity3D控制游戏的失败

Scanvenger游戏制作笔记Unity3D控制角色吃食物

Scanvenger游戏制作笔记Unity3D关卡胜利条件的判断

Scanvenger游戏制作笔记Unity3D关卡胜利条件的判断

Scanvenger游戏制作笔记Unity3D创建游戏UI的显示

Scanvenger游戏制作笔记Unity3D创建声音