Ruby‘s Adventrue游戏制作笔记Unity添加敌人
Posted Lmz_0314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby‘s Adventrue游戏制作笔记Unity添加敌人相关的知识,希望对你有一定的参考价值。
前言
本文章是我学习Unity官方项目项目所做笔记,作为学习Unity的游戏笔记,在最后一章会发出源码,如果等不及可以直接看源码,里面也有很多注释相关,话不多说,让Ruby动起来!
游戏引擎:Unity2020.3
一、编辑敌人
将敌人拖入编辑器中
添加刚体和碰撞器
设置重力影响为0
编辑碰撞器范围
二、编辑敌人脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 敌人的脚本
public class EnemyController : MonoBehaviour
// 移动速度
public float speed = 5f;
// 敌人伤害
private int enemyDamage = -1;
// 改变方向的时间
public float changeDirectionTime = 2f;
// 改变方向的计时器
private float changeTimer;
// 是否垂直方向移动
public bool isVertical;
// 移动方向
private Vector2 moveDirection;
private Rigidbody2D rbody;
// Start is called before the first frame update
void Start()
// 获取刚体组件
rbody = GetComponent<Rigidbody2D>();
// 如果是垂直移动,朝上移动,如果不是,则方向朝右
moveDirection = isVertical ? Vector2.up : Vector2.right;
changeTimer = changeDirectionTime;
// Update is called once per frame
void Update()
changeTimer -= Time.deltaTime;
if(changeTimer < 0)
// 改变方向
moveDirection *= -1;
// 重新计时
changeTimer = changeDirectionTime;
// 控制移动
Vector2 position = rbody.position;
position.x += moveDirection.x * speed * Time.deltaTime;
position.y += moveDirection.y * speed * Time.deltaTime;
rbody.MovePosition(position);
// 与玩家的碰撞检测
// 刚体碰撞检测
private void OnCollisionEnter2D(Collision2D collision)
PlayerController pc = collision.gameObject.GetComponent<PlayerController>();
if (pc != null)
pc.ChangeHealth(enemyDamage);
转化为预制体
系列链接
Ruby‘s Adventrue游戏制作笔记(一)Unity创建项目
Ruby‘s Adventrue游戏制作笔记(二)Unity控制ruby移动
Ruby‘s Adventrue游戏制作笔记(三)Unity使用tilemap绘制场景
Ruby‘s Adventrue游戏制作笔记(四)Unity绘制其他元素
Ruby‘s Adventrue游戏制作笔记(五)Unity解决碰撞抖动和旋转问题
Ruby‘s Adventrue游戏制作笔记(六)Unity相机跟随玩家移动
Ruby‘s Adventrue游戏制作笔记(七)Unity采集生命道具
Ruby‘s Adventrue游戏制作笔记(八)Unity伤害陷阱
Ruby‘s Adventrue游戏制作笔记(九)Unity添加敌人
Ruby‘s Adventrue游戏制作笔记(十)Unity添加动画
Ruby‘s Adventrue游戏制作笔记(十一)Unity角色攻击——发射子弹
Ruby‘s Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效
Ruby‘s Adventrue游戏制作笔记(十三)Unity血条UI的显示
Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby‘s Adventrue游戏制作笔记(十五)UnityNPC对话
以上是关于Ruby‘s Adventrue游戏制作笔记Unity添加敌人的主要内容,如果未能解决你的问题,请参考以下文章
Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby‘s Adventrue游戏制作笔记(十五)UnityNPC对话