以血包为例
一创建血包
1.1 新建动画
- 导入
血包 Sprite
- 打开
Sprite Editor -> 切片 -> 32x32
- 创建
空游戏对象
- 创建血包
Animator
及AnimationController
: 拖动血包序列图
到空游戏对象
1.2 设置图层及标签
- 新建并应用
CanBePickedUp
标签: 代表可被捡起物品 新建并应用
Props
图层:用于碰撞检测1.3 添加碰撞体
- 对
血包游戏对象
添加Circle Collider 2D
圆形碰撞体 编辑 -> 项目设置 -> 2D物理 -> 图层碰撞矩阵
: 取消勾选Enemy
与Props
交叉点,使敌人不可以与之发生碰撞
二 创建道具脚本
[!NOTE] ScriptableObject
脚本表格对象: 数据储存表。
新建
PropScriptable
ScriptableObject
脚本表格对象using UnityEngine; [CreateAssetMenu(menuName = "Prop")] // 在Unity编辑器中添加新创建菜单 public class PropScriptable : ScriptableObject { public string propName; // 名称 public Sprite sprite; // 默认静态图像 public int quantity; // 值 public bool stackable; // 是否可堆叠 public enum PropType // 枚举 item 类型 { Coin, Health } public PropType propType; // 类型 }
新建
Prop
道具控制器using UnityEngine; public class Prop : MonoBehaviour { public PropScriptable propScriptable; }
- 新建
Heart
血包:Unity -> 创建 -> Prop
重命名Heart
设置
Heart
相应属性三挂载脚本
- 挂载
Prop
到血包游戏对象
- 拖动
Heart
到血包预制件 -> 检查器 -> Prop -> propScriptable
中
四 创建预制件
- 拖动
游戏对象
到目录创建预制件
- 删除
原游戏对象
情感浓度过高可适当留白,以达平衡。
独特的构思和新颖的观点,让这篇文章在众多作品中脱颖而出。
这篇文章不错!