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

Unity中獲取游戲?qū)ο蟮膸追N方式

這篇具有很好參考價值的文章主要介紹了Unity中獲取游戲?qū)ο蟮膸追N方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在學(xué)習(xí)如何獲取物體和組件時先明白說明什么是物體,組件和對象。

物體:unity中在層級顯示的東西都可以叫做物體

組件:unity中提供了大量已經(jīng)寫好的組件,比如剛體,碰撞體等,自己編寫的腳本也是一種組件類

對象:掛載到物體上的腳本是一個實例化的組件,也就是一個對象

一個游戲物體是一個對象;沒有被掛載到物體上的腳本,是一個未被實例化的類,當(dāng)腳本被掛載到物體上后,就變成了一個實實在在的對象

獲取組件的方法

(1)GetComponent()

Rigidbody2D M_Rigidbody2D; 
void Start()
{
? ? //獲取到組件后,將它的 引用??! 保存在M_Rigidbody2D字段中,方便下次使用
    M_Rigidbody2D = gameobject.GetComponent<Rigidbody2D>();
? ?//這是很常見的獲取組件的代碼,gameobject是從當(dāng)前腳本組件獲取到游戲物體,GetComponent就是從游戲物體中獲取到指定的組件
}

(2)GetComponents():該方法和上面的方法差不多,但是它的返回值是一個數(shù)組,也就是用來一個游戲?qū)ο笊嫌卸鄠€同類型組件,獲取所有同類型組件用的

獲取物體的方法

(1)GameObject.Find():通過物體的名稱獲取物體

存在兩個弊端第一,GameObject.Find()無法找到未激活的對象,第二,GameObject.Find()需要遍歷場景中的所有物體

(2)GameObject.FindGameObjectWithTag():通過標(biāo)簽查找物體,該方法返回的是游戲?qū)ο?/p>

還有一個CompareTag()方法,該方法返回的是true或者false,和GameObject.tag==""是一樣的

(3)父子關(guān)系獲取物體對象

transform.Find("子物體的名字")尋找子物體

transform.GetChild() 通過序號查找子物體

獲取公開變量獲得物體和組件

上面介紹的獲取物體和組件時,都是在腳本里面進行賦值的,其實還可以在unity編譯器中獲取

(1)獲取物體(最常用)

unity獲取子對象,游戲,Powered by 金山文檔
unity獲取子對象,游戲,Powered by 金山文檔

(2)獲取組件

組件的獲取也和物體的獲取類似,但是也是在檢查器窗口有個組件的賦值欄,但是不同的就是不是拖動組件給其賦值,而且拖動帶有該組件的游戲?qū)ο髮ζ滟x值,畢竟獲取的組件的目的是為了獲取游戲?qū)ο笊系哪硞€組件

總結(jié)

獲取游戲?qū)ο蠛徒M件方法其實有很多,上面的方法也只是列舉的比較常用的,在獲取物體時,腳本在物體上時--直接用GameObject就能獲取,腳本不在物體上--用public公共變量獲??;在獲取組件時,腳本(其實腳本也算是組件)如果和組件在同一個對象上--用gameobject.GetComponent;如果腳本和組件不在同一個對象上--用public公共變量獲取

unity獲取子對象,游戲,Powered by 金山文檔

現(xiàn)在我才發(fā)現(xiàn),在使用public方法對變量或者組件,對象進行賦值時,當(dāng)游戲物體被制作成預(yù)制件之后,通過預(yù)制件的方式用到場景中去,之前使用public賦值的方法需要重新再拖曳賦值,比較麻煩,因此再這里再詳細介紹下通過

代碼來查找物體的方法:

(1)GameObject.Find(string name)//按名字尋找對象,1.只能找到激活對象,2 盡量保證名字是唯一的,不唯一可以用路徑 3.效率低會遍歷場景中的所有對象

(2)GameObject.FindWithTag(string tag);//按標(biāo)簽尋找對象,1.只能找到激活對象

(3)GameObject.FindGameObjectWithTag(string tag)//按標(biāo)簽尋找對象,1.只能找到激活對象

//注意FindGameObjectWithTag和FindWithTag的作用是一樣的,只是名字不一樣

(4)GameObject.FindGameObjectsWithTag(string tag)//按標(biāo)簽尋找對象數(shù)組,1.只能找到激活對象

(5)transform.Find()//按名字尋找子物體的對象,1.可用于未激活物體,2.多重子物體時需寫全路徑

(6)transform.GetChild()//按索引尋找子物體的對象,1.可用于未激活物體2.多重子物體可以多次使用GetChild()

絕大部分尋找到物體就是為了獲取該物體身上的組件,有時候可以直接用代碼獲取

gameObject.GetComponent//通過以上方法獲取對象后,再結(jié)合這個方法就能獲取到想要的組件

//當(dāng)想要獲取游戲子對象上的組件時,可以先不用獲取到子對象再獲取組件,可以直接用下面的方法獲取組件

(1)transform.parent//得到父對象的transform組件

(2)transform.GetComponentInChildren<T>()//獲取子物體對應(yīng)的組件,1.可用于未激活物體,不過需要參數(shù)里面寫true,注意:這里不能直接獲取<GameObject>,具體原因我也不是太清楚

(3)transform.GetComponentsInChildren<T>()//獲取子物體對應(yīng)的組件,返回值是數(shù)組

(4)transform.GetChildCount()//被棄用了,現(xiàn)在是通過transform.childCount來獲取子對象的個數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-796331.html

到了這里,關(guān)于Unity中獲取游戲?qū)ο蟮膸追N方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Unity物體移動的幾種方式

    主要是Vector3的內(nèi)置函數(shù)以及CharacterController的Move 還有一個固定的每幀進行移動的操作

    2024年02月12日
    瀏覽(20)
  • Unity——數(shù)據(jù)存儲的幾種方式

    Unity——數(shù)據(jù)存儲的幾種方式

    PlayerPrefs適合用于 存儲簡單的鍵值對數(shù)據(jù) 存儲的數(shù)據(jù)會在游戲關(guān)閉后依然保持,并且可以在不同場景之間共享,適合用于需要在游戲不同場景之間傳遞和保持的數(shù)據(jù)。 它利用key-value的方式將數(shù)據(jù)保存到本地,跟字典類似。然后通過代碼進行保存、讀取、更新操作。值得注意

    2024年02月03日
    瀏覽(29)
  • 【圖文詳解】Unity存儲游戲數(shù)據(jù)的幾種方法

    【圖文詳解】Unity存儲游戲數(shù)據(jù)的幾種方法

    在Unity中,常用的數(shù)據(jù)存儲方法包括PlayerPrefs、ScriptableObject、JSON、XML和數(shù)據(jù)庫等。 PlayerPrefs是Unity自帶的一種簡單的鍵值存儲系統(tǒng),適合存儲一些簡單的游戲數(shù)據(jù)。ScriptableObject是一種Unity類,可用于創(chuàng)建可序列化的對象并存儲數(shù)據(jù)。JSON和XML是輕量級的數(shù)據(jù)交換格式,可以通過

    2023年04月08日
    瀏覽(30)
  • Unity中人物移動的幾種方式

    Unity中人物移動的幾種方式

    1.使用Transform組件 ? ? ? ? (1)transform.position(最基礎(chǔ),最常用): 這是通過上下左右鍵控制人物運動的方法 ?????????//獲取水平按鍵,左鍵或A 則值為-1f,右鍵或D 則值為1f ? ? ? ? horizontal = Input.GetAxis(\\\"Horizontal\\\"); ? ? ? ? //獲取垂直按鍵,上鍵或W 則值為-1f,下鍵或S 則

    2023年04月15日
    瀏覽(27)
  • Unity按鈕事件的幾種綁定方式

    Unity按鈕事件的幾種綁定方式

    許久沒有寫C#代碼了,對于一些東西自己給整忘了,在此記錄下,方便以后自己查閱 獲取到按鈕組件,我是將代碼掛載在其父節(jié)點上。 在代碼中獲取此按鈕,并對他就進行綁定。一般都是使用的這類情況。 在腳本中寫一個public函數(shù),作為按鈕的監(jiān)聽函數(shù),在按鈕的Inspector面

    2024年02月11日
    瀏覽(23)
  • unity碰撞檢測識別對象的幾種方法,剛體篇

    可以在物體的Collider組件中設(shè)置碰撞層級,只有屬于指定層級的物體才會響應(yīng)碰撞事件。例如,我們可以將敵人設(shè)置為一個單獨的層級,然后在玩家的腳本中檢測碰撞時,只響應(yīng)屬于敵人層級的物體。 可以在物體的Collider組件中設(shè)置標(biāo)簽,然后在腳本中檢測碰撞時,只響應(yīng)標(biāo)

    2024年02月11日
    瀏覽(22)
  • Unity中常用的幾種讀取本地文件方式

    使用的命名空間如下 using LitJson; using System.Collections.Generic; using System.IO; using System.Text; using UnityEngine; using UnityEngine.Networking; 1、通過UnityWebRequest獲取本地StreamingAssets文件夾中的Json文件 View Code 2、通過UnityWebRequest和StreamReader讀取本地StreamingAssets文件夾中的Json文件 View Code ?3、通

    2024年02月04日
    瀏覽(27)
  • Unity筆記:數(shù)據(jù)持久化的幾種方式

    主要方法: ScriptableObject PlayerPrefs JSON XML 數(shù)據(jù)庫(如Sqlite) PlayerPrefs 存儲的數(shù)據(jù)是 全局共享 的,它們存儲在用戶設(shè)備的本地存儲中,并且可以被應(yīng)用程序的所有部分訪問。這意味著,無論在哪個場景、哪個腳本中,只要是同一個應(yīng)用程序中的代碼,都可以讀取和修改 Playe

    2024年02月19日
    瀏覽(23)
  • Unity 常用的幾種存檔讀檔方式

    一、PlayerPrefs:數(shù)據(jù)持久化方案 常見的方法如下: ?參考功能及代碼: 通過單選框是否被勾選上,從而來決定是否播放背景音樂,代碼如下: 二、二進制存儲(字節(jié)流存儲) 序列化:新建或打開一個二進制文件,通過二進制格式器將對象寫入該二進制文件。 反序列化:打開

    2023年04月08日
    瀏覽(23)
  • 【unity】關(guān)于unity3D攝像機視角移動的幾種方式詳解

    【unity】關(guān)于unity3D攝像機視角移動的幾種方式詳解

    目錄 一、前言 二、Transform基礎(chǔ) 1、幾種坐標(biāo)系 2、position和localPosition屬性 3、rotation屬性 三、攝像機的平移 1、鍵盤控制平移 2、鼠標(biāo)控制平移 3、整合? 四、攝像機的旋轉(zhuǎn) 1、繞自身旋轉(zhuǎn) 2、繞目標(biāo)物體旋轉(zhuǎn) 3、整合? 五、優(yōu)化功能 1、調(diào)整速率 2、切換目標(biāo)物體 3、設(shè)置常用攝

    2024年02月04日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包