国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject)

這篇具有很好參考價(jià)值的文章主要介紹了[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Unity 在開(kāi)發(fā)的時(shí)候如果數(shù)據(jù)量比較大,或者一部分?jǐn)?shù)據(jù)需要存在云端,那么就需要一些數(shù)據(jù)庫(kù)

輕量型到大型的包括:

數(shù)組-內(nèi)存存儲(chǔ)讀取

列表-內(nèi)存存儲(chǔ)讀取? ?List<T> tList = new List<T>();

XML-硬盤(pán)存儲(chǔ)讀取

JSON-硬盤(pán)存儲(chǔ)讀取

Sqlite-輕量數(shù)據(jù)庫(kù)(意思就是免安裝)-云服務(wù)器、硬盤(pán)存儲(chǔ)讀取SQLite 入門(mén)教程 - 菜鳥(niǎo)教程

Mysql-關(guān)系型數(shù)據(jù)庫(kù)(需安裝本地或云服務(wù)器)-云服務(wù)器、硬盤(pán)存儲(chǔ)讀取

Redis-非關(guān)系型數(shù)據(jù)庫(kù)-輕量級(jí)免安裝-云服務(wù)器、硬盤(pán)存儲(chǔ)讀取

Oracle-系型數(shù)據(jù)庫(kù)(需安裝本地或云服務(wù)器)-云服務(wù)器、硬盤(pán)存儲(chǔ)讀取

......[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject),Unity進(jìn)階課程,lucene,全文檢索,搜索引擎

?

[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject),Unity進(jìn)階課程,lucene,全文檢索,搜索引擎

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


[CreateAssetMenu(menuName = "Leoyang/DataUnity", fileName = "CreatData")]
public class PackageTable : ScriptableObject
{
    public List<ObjectInformation> DatatList=new List<ObjectInformation>();
}
[System.Serializable]
public class ObjectInformation
{

    public string name;
    public int ID;
    public string DescriptObj;
}

這段代碼是針對(duì) Unity 引擎的腳本,用于創(chuàng)建包含物品信息的數(shù)據(jù)表。

1. CreateAssetMenu?屬性:


? ?這個(gè)屬性是 Unity 引擎的特殊標(biāo)記,用于在 Unity 菜單中創(chuàng)建該類(lèi)型的對(duì)象。`menuName` 指定了在菜單中的位置,`fileName` 指定了在創(chuàng)建對(duì)象時(shí)的默認(rèn)文件名。

[CreateAssetMenu(menuName = "Leoyang/DataUnity", fileName = "CreatData")]

代碼效果:

[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject),Unity進(jìn)階課程,lucene,全文檢索,搜索引擎

2. `PackageTable` Unity 內(nèi)置類(lèi):


PackageTable` 類(lèi)繼承自 `ScriptableObject`,這是一個(gè) Unity 提供的特殊類(lèi),可以在編輯器中創(chuàng)建和管理數(shù)據(jù)。
List<ObjectInformation> DatatList` 是一個(gè)包含 `ObjectInformation` 對(duì)象的列表,用于存儲(chǔ)ObjectInformation類(lèi)型的物品信息。

3. ObjectInformation?自定義類(lèi):


ObjectInformation`是一個(gè)用于存儲(chǔ)單個(gè)物品信息的自定義類(lèi)。
?它包含了物品的名稱 (`name`)、ID (`ID`) 和描述 (`DescriptObj`) 等字段,用于描述和標(biāo)識(shí)不同的游戲物品。

[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject),Unity進(jìn)階課程,lucene,全文檢索,搜索引擎

這段代碼的作用是創(chuàng)建一個(gè)可以在 Unity 編輯器中創(chuàng)建和管理的數(shù)據(jù)表,其中可以存儲(chǔ)多個(gè)物品的信息,比如名稱、ID 和描述等。通過(guò) `PackageTable` 類(lèi)的 `DatatList` 可以輕松地添加、編輯和刪除 `ObjectInformation` 類(lèi)的對(duì)象,這些對(duì)象可以在游戲中使用,比如用于管理背包物品或者游戲中的其他數(shù)據(jù)。

創(chuàng)建完畢后就可以使用了,存儲(chǔ)信息

[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject),Unity進(jìn)階課程,lucene,全文檢索,搜索引擎

[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject),Unity進(jìn)階課程,lucene,全文檢索,搜索引擎

4.ScriptableObject類(lèi)詳細(xì)講解

`ScriptableObject` 是 Unity 引擎中的一個(gè)特殊類(lèi),它允許在編輯器中創(chuàng)建可序列化的對(duì)象,用于存儲(chǔ)數(shù)據(jù)、配置游戲資源、或者創(chuàng)建自定義編輯器工具等。下面詳細(xì)介紹它的屬性、功能和一個(gè)簡(jiǎn)單的案例:

- **可序列化:** `ScriptableObject` 類(lèi)的對(duì)象可以被序列化和存儲(chǔ)在 Unity 資源文件中,能夠在不同場(chǎng)景和關(guān)卡之間進(jìn)行持久化。
??
- **無(wú)需掛載到 GameObject:** 與 MonoBehaviour 不同,ScriptableObject 并不需要附加到場(chǎng)景中的游戲?qū)ο笊?,因此它們不受?chǎng)景的影響,更適合用于存儲(chǔ)數(shù)據(jù)或資源。

### 功能:

- **數(shù)據(jù)存儲(chǔ)和配置:** 可以用來(lái)保存游戲的數(shù)據(jù),例如存儲(chǔ)關(guān)卡信息、物品屬性、對(duì)話內(nèi)容等。也可用于配置資源,如配置文件、技能數(shù)據(jù)、AI行為樹(shù)等。

- **可編輯:** 可在 Unity 編輯器中創(chuàng)建、編輯和管理對(duì)象的屬性和數(shù)據(jù)。這使得開(kāi)發(fā)人員可以方便地調(diào)整數(shù)據(jù)而無(wú)需直接修改代碼。

- **易于擴(kuò)展:** 可以創(chuàng)建自定義編輯器工具,利用 `ScriptableObject` 創(chuàng)建可重復(fù)使用的資源,提高了代碼的復(fù)用性。

### 案例:

以下是一個(gè)簡(jiǎn)單的 `ScriptableObject` 示例,演示了如何創(chuàng)建和使用它:
?

using UnityEngine;

[CreateAssetMenu(fileName = "NewCharacterData", menuName = "Character Data")]
public class CharacterData : ScriptableObject
{
? ? public string characterName;
? ? public int health;
? ? public int attackDamage;
? ? public Sprite characterSprite;
}

- 這個(gè)示例中的 `CharacterData` 類(lèi)繼承自 `ScriptableObject`。
- 使用 `[CreateAssetMenu]` 屬性,指定了在 Unity 菜單中創(chuàng)建該類(lèi)型對(duì)象時(shí)的位置和名稱。
- `CharacterData` 類(lèi)定義了一些角色的屬性,如角色名、生命值、攻擊傷害和角色的精靈圖像。

通過(guò)這種方式,可以在 Unity 編輯器中創(chuàng)建名為 Character Data 的資源文件,包含了角色的屬性信息。然后可以在游戲中通過(guò)引用這些 `CharacterData` 對(duì)象來(lái)獲取或配置角色屬性,例如在游戲中創(chuàng)建角色、設(shè)置角色的生命值和攻擊力等。

一旦你創(chuàng)建了 `ScriptableObject` 類(lèi)型的數(shù)據(jù)對(duì)象并設(shè)置了其中的屬性,你可以通過(guò)代碼在游戲中訪問(wèn)這些屬性。以下是一種簡(jiǎn)單的方法:

假設(shè)你已經(jīng)創(chuàng)建了一個(gè)名為 `CharacterData` 的 `ScriptableObject` 類(lèi),里面包含了角色的屬性,比如:

using UnityEngine;

[CreateAssetMenu(fileName = "NewCharacterData", menuName = "Character Data")]
public class CharacterData : ScriptableObject
{
? ? public string characterName;
? ? public int health;
? ? public int attackDamage;
? ? public Sprite characterSprite;
}

然后,在你的代碼中,你可以通過(guò)如下方式獲取這些數(shù)據(jù):


public class CharacterManager : MonoBehaviour
{
? ? public CharacterData characterData; // 這個(gè)是你創(chuàng)建的 CharacterData 對(duì)象

? ? void Start()
? ? {
? ? ? ? // 示例:輸出角色的名字和生命值
? ? ? ? Debug.Log("Character Name: " + characterData.characterName);
? ? ? ? Debug.Log("Character Health: " + characterData.health);
? ? ? ??
? ? ? ? // 可以根據(jù)需要使用角色數(shù)據(jù)做其他操作,比如改變角色的屬性、加載對(duì)應(yīng)的角色模型等。
? ? }
}


?

這段代碼展示了如何在 `CharacterManager` 類(lèi)中獲取 `CharacterData` 對(duì)象的屬性。通過(guò)將 `CharacterData` 對(duì)象賦值給 `characterData` 屬性,你可以在 `Start` 或其他需要的地方訪問(wèn)其中的屬性??梢愿鶕?jù)具體需求,使用這些數(shù)據(jù)來(lái)配置游戲中的角色屬性、加載對(duì)應(yīng)的精靈圖像或者其他處理。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-765051.html

到了這里,關(guān)于[Unity數(shù)據(jù)管理]自定義菜單創(chuàng)建Unity內(nèi)部數(shù)據(jù)表(ScriptableObject)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 達(dá)夢(mèng)數(shù)據(jù)庫(kù)創(chuàng)建及數(shù)據(jù)庫(kù)實(shí)例管理

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)創(chuàng)建及數(shù)據(jù)庫(kù)實(shí)例管理

    數(shù)據(jù)庫(kù)配置助手創(chuàng)建數(shù)據(jù)庫(kù)調(diào)用 dbca.sh 圖形化界面創(chuàng)建數(shù)據(jù)庫(kù): [dmdba@DCA02 tool]$ ./dbca.sh 2021-01-11 11:43:45 [com.dameng.dbca.Startup] [INFO] 啟動(dòng) DBCA 指定數(shù)據(jù)庫(kù)名稱、實(shí)例名稱(單機(jī)情況下數(shù)據(jù)庫(kù)和實(shí)例名稱可以相同),指定端口號(hào): 簇大小、頁(yè)大小、字符集、 字符串 大小寫(xiě)敏感、

    2023年04月08日
    瀏覽(52)
  • SQL 數(shù)據(jù)庫(kù)語(yǔ)句- 創(chuàng)建和管理數(shù)據(jù)庫(kù)

    SQL CREATE DATABASE 語(yǔ)句用于創(chuàng)建一個(gè)新的 SQL 數(shù)據(jù)庫(kù)。 以下 SQL 語(yǔ)句創(chuàng)建了一個(gè)名為 \\\"testDB\\\" 的數(shù)據(jù)庫(kù): 通過(guò)這個(gè)簡(jiǎn)單的語(yǔ)句,你可以成功地創(chuàng)建一個(gè)名為 \\\"testDB\\\" 的數(shù)據(jù)庫(kù)。記得在實(shí)際應(yīng)用中,你可能需要添加其他選項(xiàng),比如指定字符集、校對(duì)規(guī)則等,以滿足具體需求。 SQL DRO

    2024年02月05日
    瀏覽(37)
  • 數(shù)據(jù)管理系統(tǒng)-week6-數(shù)據(jù)定義語(yǔ)言(DDL)

    本節(jié)課主要學(xué)習(xí)如何創(chuàng)建表,刪除表,更改表,以及一道簡(jiǎn)單的練習(xí)題,提供給大家學(xué)習(xí)與參考 創(chuàng)建表語(yǔ)句使用給定的名稱、給定的屬性名稱和類(lèi)型以及給定的邏輯一致性約束創(chuàng)建一個(gè)新的關(guān)系表 Example:

    2024年01月18日
    瀏覽(19)
  • Docker 的數(shù)據(jù)管理、容器互聯(lián)、鏡像創(chuàng)建

    Docker 的數(shù)據(jù)管理、容器互聯(lián)、鏡像創(chuàng)建

    目錄 一、數(shù)據(jù)管理 1.數(shù)據(jù)卷 2.?數(shù)據(jù)卷容器 二、容器互聯(lián)(使用centos鏡像) 三、Docker 鏡像的創(chuàng)建 1.基于現(xiàn)有鏡像創(chuàng)建 1.1首先啟動(dòng)一個(gè)鏡像,在容器里修改 1.2將修改后的容器提交為新的鏡像,需使用該容器的id號(hào)創(chuàng)建新鏡像 2.基于本地模板創(chuàng)建 2.1下載模板文件生成鏡像? 2

    2024年02月16日
    瀏覽(29)
  • openGauss學(xué)習(xí)筆記-09 openGauss 簡(jiǎn)單數(shù)據(jù)管理-創(chuàng)建數(shù)據(jù)庫(kù)

    openGauss學(xué)習(xí)筆記-09 openGauss 簡(jiǎn)單數(shù)據(jù)管理-創(chuàng)建數(shù)據(jù)庫(kù)

    數(shù)據(jù)庫(kù)安裝完成后,默認(rèn)生成名稱為postgres的數(shù)據(jù)庫(kù)。您需要自己創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。 9.1 語(yǔ)法格式 創(chuàng)建數(shù)據(jù)庫(kù) 查看數(shù)據(jù)庫(kù) 使用“l(fā)”用于查看已經(jīng)存在的數(shù)據(jù)庫(kù)。 使用 “c + 數(shù)據(jù)庫(kù)名” 進(jìn)入已存在數(shù)據(jù)庫(kù)。 修改數(shù)據(jù)庫(kù) 刪除數(shù)據(jù)庫(kù) 9.2 參數(shù)說(shuō)明 database_name 要?jiǎng)?chuàng)建、修改或

    2024年02月16日
    瀏覽(25)
  • openGauss學(xué)習(xí)筆記-74 openGauss 數(shù)據(jù)庫(kù)管理-創(chuàng)建和管理視圖

    openGauss學(xué)習(xí)筆記-74 openGauss 數(shù)據(jù)庫(kù)管理-創(chuàng)建和管理視圖

    74.1 背景信息 當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)中的一張或者多張表的某些字段的組合感興趣,而又不想每次鍵入這些查詢時(shí),用戶就可以定義一個(gè)視圖,以便解決這個(gè)問(wèn)題。 視圖與基本表不同,不是物理上實(shí)際存在的,是一個(gè)虛表。數(shù)據(jù)庫(kù)中僅存放視圖的定義,而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這

    2024年02月07日
    瀏覽(50)
  • MySQL-創(chuàng)建和管理表:基礎(chǔ)知識(shí)、創(chuàng)建和管理數(shù)據(jù)庫(kù)、創(chuàng)建表、修改表、重命名表、刪除表、清空表、拓展

    MySQL-創(chuàng)建和管理表:基礎(chǔ)知識(shí)、創(chuàng)建和管理數(shù)據(jù)庫(kù)、創(chuàng)建表、修改表、重命名表、刪除表、清空表、拓展

    注:此為筆者學(xué)習(xí)尚硅谷-宋紅康MySQL的筆記,其中包含個(gè)人的筆記和理解,僅做學(xué)習(xí)筆記之用,更多詳細(xì)資訊請(qǐng)出門(mén)左拐B站:尚硅谷!!! 1.1 一條數(shù)據(jù)存儲(chǔ)的過(guò)程 存儲(chǔ)數(shù)據(jù)是處理數(shù)據(jù)的第一步 。只有正確地把數(shù)據(jù)存儲(chǔ)起來(lái),我們才能進(jìn)行有效的處理和分析。否則,只能是一團(tuán)

    2024年04月11日
    瀏覽(95)
  • Docker 的數(shù)據(jù)管理與Dockerfile 鏡像的創(chuàng)建

    Docker 的數(shù)據(jù)管理與Dockerfile 鏡像的創(chuàng)建

    ------------------Docker 的數(shù)據(jù)管理--------------------- 管理 Docker 容器中數(shù)據(jù)主要有兩種方式:數(shù)據(jù)卷(Data Volumes)和數(shù)據(jù)卷容器(DataVolumes Containers)。 1.?dāng)?shù)據(jù)卷 數(shù)據(jù)卷是一個(gè)供容器使用的特殊目錄,位于容器中??蓪⑺拗鳈C(jī)的目錄掛載到數(shù)據(jù)卷上,對(duì)數(shù)據(jù)卷的修改操作立刻可見(jiàn)

    2024年02月07日
    瀏覽(18)
  • 一、創(chuàng)建數(shù)據(jù)庫(kù)和管理(基礎(chǔ)使用命令)

    一、創(chuàng)建數(shù)據(jù)庫(kù)和管理(基礎(chǔ)使用命令)

    1、創(chuàng)建數(shù)據(jù)庫(kù)命令 語(yǔ)法格式: CREATE {DATABASE|SCHEMA}[IF NOT EXISTS] 數(shù)據(jù)庫(kù)名稱 [[DEFAULT] CHARACTER SET 字符集名 |[DEFAULT] COLLATE 校對(duì)規(guī)則名] [] 內(nèi)的為可選項(xiàng) ? { | } ?內(nèi)的為二選一 ? ? ? ?MySQL 不區(qū)分大小寫(xiě) IF NOT EXISTS :在創(chuàng)建數(shù)據(jù)庫(kù)前進(jìn)行判斷,只有該數(shù)據(jù)庫(kù)目前尚不存在,才執(zhí)行C

    2024年02月04日
    瀏覽(22)
  • 【unity數(shù)據(jù)交互】數(shù)據(jù)管理類(lèi)_PlayerPrfs封裝包

    【unity數(shù)據(jù)交互】數(shù)據(jù)管理類(lèi)_PlayerPrfs封裝包

    ?????個(gè)人主頁(yè) :@元宇宙-秩沅 ????? hallo 歡迎 點(diǎn)贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity數(shù)據(jù)存儲(chǔ) ?? PlayerPrefs—存儲(chǔ)主方法 ?? PlayerPrefs—普通數(shù)據(jù)類(lèi)型的反射存儲(chǔ) ?? PlayerPrefs—泛型List的反射存儲(chǔ) ?? PlayerPrefs—泛型

    2024年02月08日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包