ScriptableObject

这篇博客介绍了如何在Unity中通过ScriptableObject创建自定义菜单,用于设置游戏角色的攻击距离、技能范围、冷却时间等属性。通过声明 Attack_SO 类并使用 [CreateAssetMenu] 属性,可以在Assets下生成一个菜单项,方便地管理和调整游戏参数。同时,展示了如何在CharacterStats类中引用这些数据,以便在游戏运行时使用。
摘要由CSDN通过智能技术生成

(1)在 Assets 下添加菜单,菜单脚本:

using UnityEngine;
[CreateAssetMenu(fileName = "New Data", menuName = "Character Stats/Data", order  = 1)]
//!作用在 Assets 文件夹下,鼠标右键,菜单栏中添加一个按钮项,菜单名为 menuName,并执行生成名为 fileName 的脚本,order 为按钮显示顺序
public class Attack_SO: ScriptableObject
{
    [Header("攻击距离")]
    public float attackRange;   
    [Header("技能攻击距离")] 
    public float skillRange;    
    [Header("CD冷却时间")] 
    public float coolDown;      
    [Header("最小攻击数值")] 
    public int minDamge;          
    [Header("最大攻击数值")] 
    public int maxDamge;          
    [Header("暴击数值")] 
    public float criticalMultipliter;  
    [Header("暴击率")] 
    public float criticalChance;
    [Header("击晕率")] 
    public float dizzyChance;
}

(2)使用:

using UnityEngine;
//!声明attackData后Unity中拖载就可以使用attackData里面的数据
public class CharacterStats : MonoBehaviour{
      public Attack_SO attackData;
      Debug.Log(attackData.maxDamge);    
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值