关于unity的ScriptableObject。

效果图:

可以在unity的Project窗口进行直接的生成,可以直接进行赋值。

解释一下代码。

[CreateAssetMenu(fileName = "test1", menuName = "测试/test1", order = 0)],

是ScriptableObject的一个特性,只是需要按照格式来就好。

第一个fileName =“test1”这个代表了最后生成出来的东西名字默认是什么。

这个名字是可以修改的,所以无论设置什么都无所谓。

第二个menuName = "测试/test1"这个是说出现在哪里,这个会出现在Creat窗口里面,也就是

测试这个名称,就会出现最上面的位置:

然后测试里面就会有 test1这个东西,点击生成。

第三,order = 0,这个就是排序,你可能会有创造许多这样的脚本,然后按照这个顺序会出现在窗口里面。

然后你可以在里面放入一些枚举值,或是其他的数据,然后把参数调整好,然后就可以挂在其他脚本上面,进行一些赋值,比如说现在定义一个道具的枚举:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[CreateAssetMenu(fileName = "test1", menuName = "测试/test1", order = 0)]
public class Test : ScriptableObject
{
    public Item item;
}
public enum Item
{
    HP,
    MP,
    Money,
    EXP
}

这是代码,下面展示得到的结果: 

 

这是结果,然后这个可以绑在某个脚本里面(不能直接挂载物体上面)

这是一个特别能简化操作的东西,比如定义你的道具,敌人的类型,或者你随机生成地图,定义地图的类型都可以运用这个东西,去自己的unity里面试试代码,会有更好的理解。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值