当前位置: 首页 > news >正文

做外贸大大小小的网站有哪些软文写作是什么意思

做外贸大大小小的网站有哪些,软文写作是什么意思,泰安营销型网站公司,机票网站手机版建设1.为什么要用ScriptableObject? 在游戏开发中,有大量的配置数据需要存储,这个时候就需要ScriptableObject来存储数据了。 很多人会说我可以用json、xml、txt,excel等等 但是你们有没有想过,假设你使用的是json&#x…

1.为什么要用ScriptableObject?

在游戏开发中,有大量的配置数据需要存储,这个时候就需要ScriptableObject来存储数据了。
很多人会说我可以用json、xml、txt,excel等等
但是你们有没有想过,假设你使用的是json,那你在加载json后,还要去解析,还需要把它转换为合适的数据结构。
但是ScriptableObject就可以“免”去这一步,因为我可以把配置数据解析放在游戏启动之前。
而且ScriptableObject可以添加一些自定义的方法,十分方便。

2.什么是 ScriptableObject?

ScriptableObject 是一个类,继承自 UnityEngine.Object 。要想使用它,需要我们写个脚本去继承 。
ScriptableObject 类的实例会被保存为资源文件(.asset文件),和其他预制体、材质球、图片等文件类似。如下图
在这里插入图片描述

3.如何创建 ScriptableObject?

①声明自定义的数据容器
新建一个脚本ItemData.cs,继承 ScriptableObject,然后声明成员。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ItemData : ScriptableObject
{//道具IDpublic int id;//道具名称public string strName;//道具图标public string icon;//道具类型public int type;
}

②创建数据文件
方法一:为类添加 CreateAssetMenu 特性

[CreateAssetMenu(fileName = "ItemData", menuName = "ScriptableObject/道具数据", order = 0)]

在这里插入图片描述点击文件夹空白处,选择创建

在这里插入图片描述方法二:静态方法创建数据对象
新建一个EditorTool 脚本。不用继承 MonoBehavoiur,也不用挂载到游戏物体上。
引入 UnityEditor 命名空间:
需要特别注意:引入 UnityEditor 命名空间的脚本,必须放入任意一个命名为“Editor”的文件夹下,以便打包过滤

using UnityEngine;
using UnityEditor;
public class EditorTool  
{[MenuItem("Tool/创建道具数据")]public static void CreateMyData(){//得到需要创建的数据结构类型ItemData asset = ScriptableObject.CreateInstance<ItemData>();//创建一个数据资源文件,第二个参数为存储路径AssetDatabase.CreateAsset(asset, "Assets/Resources/Data/ItemData.asset");//保存创建的资源AssetDatabase.SaveAssets();//刷新界面AssetDatabase.Refresh();}
}

此时在菜单栏可以看到多了刚刚定义的按钮,点击即可创建
在这里插入图片描述
创建完就长这样,刚刚申明的成员也到可以看到。
在这里插入图片描述

4.项目中的 ScriptableObject

ScriptableObject已经创建完毕了,但实际开发中,数据结构可能很复杂,所以都会根据不同的功能,有所改变。
①比如,这是一个存储地形数据的配置,那么数据量就可能非常大,可能有几万行。这时候我们可以加HideInInspector来隐藏面板显示。隐藏的好处是选择当前配置不卡顿,不然数据多,选中会非常卡。

[HideInInspector]
public int[] data;

②嵌套使用,正常的配置可能都是数组,那可能就需要使用如下这种结构了

using UnityEngine;public class ItemData : ScriptableObject
{public Item[] list;}
[System.Serializable]
public class Item
{//道具IDpublic int id;//道具名称public string strName;//道具图标public string icon;//道具类型public int type;[HideInInspector]public int[] data;
}

③封装一些方法,方便其他功能使用

public class ItemData : ScriptableObject
{public Item[] list;//根据道具ID获取数据public Item GetSheet(int id){for (int i = 0;i < list.Length;i++){if (list[i].id == id){return list[i];}}return null;}
}
[

5.加载 ScriptableObject

    void Start(){string path = "Data/ItemData";Object obj = Resources.Load(path, typeof(ScriptableObject));if (obj != null){ItemData mItemData = obj as ItemData;}}

6.与exce配合使用

在正常开发中,肯定不可能手动配置ScriptableObject
正常的策划配置文件都是excel,我们可以写个方法,直接读取excel的数据然后生成ScriptableObject
双剑合并,效率翻倍!

不会Excel读取的,可以参考这篇文章
Unity读取Excel教程

http://www.yidumall.com/news/33422.html

相关文章:

  • 外贸拓客软件有用吗郑州网站优化外包顾问
  • 城乡住房和建设厅官网网站搜索优化技巧
  • 域名服务器在哪个国家seo流量软件
  • 广东外贸网站开发陕西seo快速排名
  • 自做网站告白如何弄郑州seo技术外包
  • 媒体网站开发优化推荐
  • 网站做代理服务器网络营销的步骤
  • 定制摄影app和摄影网站的区别最新的即时比分
  • 厦门网站制作收费做网络营销推广的公司
  • jsp建网站搜索引擎排名优化seo课后题
  • 上海今日发布最新通告网站优化+山东
  • 百度不收录网站关键词百度小说排行榜2020
  • 做网站的靠什么挣钱推广引流方法有哪些推广方法
  • 网站开发评审时间安排新手如何自己做网站
  • 做设计在哪个网站投递简历网络营销的基本特征有哪七个
  • 公司网站建设ppt培训班报名
  • 网站标题符号新闻稿营销
  • 刘金鹏做网站靠谱吗网站优化入门免费教程
  • 做营销最好的网站源码怎么自己做个网站
  • 中国建设银行数据管理部网站百度一下主页官网
  • 建设规划工程许可证在当地什么网站德兴网站seo
  • 做电影网站赚钱的方法广州网站优化运营
  • 做淘客网站注意事项如何做好口碑营销
  • 个人网站备案查询2023年适合小学生的新闻
  • 网站建设费开票税收代码软文写作网站
  • 如何模板wordpress杭州排名优化软件
  • 大学生网站建设申报书全网营销一站式推广
  • 百度上面做企业网站怎么做百度应用市场
  • 江阴网站开发招聘seo专业培训
  • 郑州网站建设包括哪些长沙企业seo服务