win7做网站,手机网站优化怎么做,如何建设软件下载网站,php搭建网站软件Unity 在开发的时候如果数据量比较大#xff0c;或者一部分数据需要存在云端#xff0c;那么就需要一些数据库
轻量型到大型的包括#xff1a;
数组-内存存储读取
列表-内存存储读取 ListT tList new ListT();
XML-硬盘存储读取
JSON-硬盘存储读取 …Unity 在开发的时候如果数据量比较大或者一部分数据需要存在云端那么就需要一些数据库
轻量型到大型的包括
数组-内存存储读取
列表-内存存储读取 ListT tList new ListT();
XML-硬盘存储读取
JSON-硬盘存储读取
Sqlite-轻量数据库意思就是免安装-云服务器、硬盘存储读取SQLite 入门教程 - 菜鸟教程
Mysql-关系型数据库需安装本地或云服务器-云服务器、硬盘存储读取
Redis-非关系型数据库-轻量级免安装-云服务器、硬盘存储读取
Oracle-系型数据库需安装本地或云服务器-云服务器、硬盘存储读取
...... using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;[CreateAssetMenu(menuName Leoyang/DataUnity, fileName CreatData)]
public class PackageTable : ScriptableObject
{public ListObjectInformation DatatListnew ListObjectInformation();
}
[System.Serializable]
public class ObjectInformation
{public string name;public int ID;public string DescriptObj;
}这段代码是针对 Unity 引擎的脚本用于创建包含物品信息的数据表。
1. CreateAssetMenu 属性 这个属性是 Unity 引擎的特殊标记用于在 Unity 菜单中创建该类型的对象。menuName 指定了在菜单中的位置fileName 指定了在创建对象时的默认文件名。
[CreateAssetMenu(menuName Leoyang/DataUnity, fileName CreatData)]
代码效果 2. PackageTable Unity 内置类 PackageTable 类继承自 ScriptableObject这是一个 Unity 提供的特殊类可以在编辑器中创建和管理数据。 ListObjectInformation DatatList 是一个包含 ObjectInformation 对象的列表用于存储ObjectInformation类型的物品信息。 3. ObjectInformation 自定义类 ObjectInformation是一个用于存储单个物品信息的自定义类。 它包含了物品的名称 (name)、ID (ID) 和描述 (DescriptObj) 等字段用于描述和标识不同的游戏物品。 这段代码的作用是创建一个可以在 Unity 编辑器中创建和管理的数据表其中可以存储多个物品的信息比如名称、ID 和描述等。通过 PackageTable 类的 DatatList 可以轻松地添加、编辑和删除 ObjectInformation 类的对象这些对象可以在游戏中使用比如用于管理背包物品或者游戏中的其他数据。
创建完毕后就可以使用了存储信息 4.ScriptableObject类详细讲解
ScriptableObject 是 Unity 引擎中的一个特殊类它允许在编辑器中创建可序列化的对象用于存储数据、配置游戏资源、或者创建自定义编辑器工具等。下面详细介绍它的属性、功能和一个简单的案例 - **可序列化** ScriptableObject 类的对象可以被序列化和存储在 Unity 资源文件中能够在不同场景和关卡之间进行持久化。 - **无需挂载到 GameObject** 与 MonoBehaviour 不同ScriptableObject 并不需要附加到场景中的游戏对象上因此它们不受场景的影响更适合用于存储数据或资源。
### 功能
- **数据存储和配置** 可以用来保存游戏的数据例如存储关卡信息、物品属性、对话内容等。也可用于配置资源如配置文件、技能数据、AI行为树等。
- **可编辑** 可在 Unity 编辑器中创建、编辑和管理对象的属性和数据。这使得开发人员可以方便地调整数据而无需直接修改代码。
- **易于扩展** 可以创建自定义编辑器工具利用 ScriptableObject 创建可重复使用的资源提高了代码的复用性。
### 案例
以下是一个简单的 ScriptableObject 示例演示了如何创建和使用它
using UnityEngine;[CreateAssetMenu(fileName NewCharacterData, menuName Character Data)]
public class CharacterData : ScriptableObject
{public string characterName;public int health;public int attackDamage;public Sprite characterSprite;
}- 这个示例中的 CharacterData 类继承自 ScriptableObject。 - 使用 [CreateAssetMenu] 属性指定了在 Unity 菜单中创建该类型对象时的位置和名称。 - CharacterData 类定义了一些角色的属性如角色名、生命值、攻击伤害和角色的精灵图像。
通过这种方式可以在 Unity 编辑器中创建名为 Character Data 的资源文件包含了角色的属性信息。然后可以在游戏中通过引用这些 CharacterData 对象来获取或配置角色属性例如在游戏中创建角色、设置角色的生命值和攻击力等。
一旦你创建了 ScriptableObject 类型的数据对象并设置了其中的属性你可以通过代码在游戏中访问这些属性。以下是一种简单的方法
假设你已经创建了一个名为 CharacterData 的 ScriptableObject 类里面包含了角色的属性比如
using UnityEngine;[CreateAssetMenu(fileName NewCharacterData, menuName Character Data)]
public class CharacterData : ScriptableObject
{public string characterName;public int health;public int attackDamage;public Sprite characterSprite;
}然后在你的代码中你可以通过如下方式获取这些数据 public class CharacterManager : MonoBehaviour
{public CharacterData characterData; // 这个是你创建的 CharacterData 对象void Start(){// 示例输出角色的名字和生命值Debug.Log(Character Name: characterData.characterName);Debug.Log(Character Health: characterData.health);// 可以根据需要使用角色数据做其他操作比如改变角色的属性、加载对应的角色模型等。}
} 这段代码展示了如何在 CharacterManager 类中获取 CharacterData 对象的属性。通过将 CharacterData 对象赋值给 characterData 属性你可以在 Start 或其他需要的地方访问其中的属性。可以根据具体需求使用这些数据来配置游戏中的角色属性、加载对应的精灵图像或者其他处理。