Unity 2D游戏开发: 添加道具

以血包爲例

一創建血包

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 中

四 創建預制件

拖動 遊戲對象 到目录創建 預制件

刪除 原遊戲對象

五拖動預制件到场景