南陽專業(yè)做網(wǎng)站福州seo管理
Event:用于在對(duì)象之間進(jìn)行通信和交互的機(jī)制。它可以幫助你實(shí)現(xiàn)觸發(fā)和響應(yīng)特定動(dòng)作或狀態(tài)的邏輯
一、Event System:用于處理 UI 事件的系統(tǒng)組件
?
First Selected 屬性:定義了在場(chǎng)景加載或 UI 激活時(shí),哪個(gè) UI 元素將成為首選的選中元素。在 Event System 組件的 Inspector 窗口中,你可以通過設(shè)置 First Selected 屬性來指定首選的選中元素。
Send Navigation Events 屬性:指定是否發(fā)送導(dǎo)航事件。當(dāng)該屬性啟用時(shí),UI 元素之間的導(dǎo)航事件(例如按下 Tab 鍵)將觸發(fā) Unity 中的 Navigation 事件。
Drag Threshold 屬性:定義了鼠標(biāo)或觸摸輸入的拖拽閾值。當(dāng)鼠標(biāo)或觸摸輸入的移動(dòng)距離超過這個(gè)閾值時(shí),會(huì)被識(shí)別為拖拽操作。
Add Default Input Modules 按鈕:添加一個(gè)Standalone Input Module組件
二、Event Trigger:允許你將特定的事件與一個(gè)或多個(gè)響應(yīng)動(dòng)作關(guān)聯(lián)起來。每個(gè)事件類型都對(duì)應(yīng)一個(gè)特定的事件,例如點(diǎn)擊按鈕、進(jìn)入觸發(fā)器區(qū)域等。當(dāng)該事件發(fā)生時(shí),與之關(guān)聯(lián)的響應(yīng)動(dòng)作將會(huì)被觸發(fā)執(zhí)行。
?
Add New Event Type按鈕:使用"Add New Event Type"按鈕,你可以選擇要添加的新事件類型。點(diǎn)擊該按鈕后,會(huì)彈出一個(gè)下拉菜單,列出了可用的事件類型選項(xiàng)。這些選項(xiàng)包括常見的UI事件類型,如點(diǎn)擊(Pointer Click)、進(jìn)入觸發(fā)器區(qū)域(Pointer Enter)等。通過使用"Add New Event Type"按鈕,你可以擴(kuò)展Event Trigger組件的功能,為你的游戲或應(yīng)用程序添加更多的交互性和響應(yīng)性。
三、Graphic Raycaster:用于處理用戶輸入射線檢測(cè)和UI交互的組件
?
Ignore Reversed Graphics(忽略逆轉(zhuǎn)圖形):當(dāng)忽略逆轉(zhuǎn)圖形被勾選時(shí),Graphic Raycaster會(huì)忽略反向(背面)的圖形。通常情況下,Graphic Raycaster會(huì)對(duì)碰撞發(fā)生器(collider)后面的圖形進(jìn)行檢測(cè),但勾選該選項(xiàng)后,它將不會(huì)對(duì)背面的圖形進(jìn)行任何檢測(cè),從而提高性能。
Blocking Objects(阻塞對(duì)象):定義了哪些類型的圖形對(duì)象會(huì)阻塞(block)射線的檢測(cè)。有以下四種選項(xiàng):
None:沒有任何對(duì)象會(huì)阻塞射線的檢測(cè)。
Two D:2D對(duì)象會(huì)阻塞射線的檢測(cè)。
Three D:3D對(duì)象會(huì)阻塞射線的檢測(cè)。
All:所有對(duì)象都會(huì)阻塞射線的檢測(cè)
Blocking Mask:是一個(gè)Layer Mask(層遮罩),它允許你指定一個(gè)特定的圖層(或幾個(gè)圖層)來阻塞射線的檢測(cè)。通過選擇相應(yīng)的圖層,你可以定義只有具有指定圖層的對(duì)象才能阻塞射線的檢測(cè)。
四、Physics 2D Raycaster:用于2D物理射線檢測(cè)和UI元素交互的組件
?
Event Mask(事件遮罩):是一個(gè)Layer Mask(層遮罩),它允許你定義一個(gè)特定的層(或幾個(gè)層)來確定射線檢測(cè)所觸發(fā)的事件。通過選擇相應(yīng)的圖層,你可以控制射線檢測(cè)時(shí)哪些對(duì)象能夠觸發(fā)事件,哪些對(duì)象被忽略。
Max Ray Intersections(最大射線交點(diǎn)數(shù)):用于設(shè)置射線檢測(cè)的最大交點(diǎn)數(shù)。
如果將其設(shè)置為0(默認(rèn)值),則不會(huì)對(duì)射線的交點(diǎn)數(shù)量進(jìn)行限制。如果將其設(shè)置為一個(gè)正整數(shù),射線檢測(cè)將會(huì)在達(dá)到此交點(diǎn)數(shù)后停止。這可以用于限制射線的范圍,以提高性能。
五、Physics Raycaster:用于3D物理射線檢測(cè)和UI元素交互的組件
?
屬性信息可以參考Physics 2D Raycaster組件
六、Standalone Input Module:處理鼠標(biāo)和鍵盤的輸入,并將其轉(zhuǎn)化為Unity的事件,用于驅(qū)動(dòng)游戲邏輯或處理UI交互。它是構(gòu)建與鼠標(biāo)和鍵盤交互的應(yīng)用程序或游戲的基礎(chǔ)組件
?
Horizontal Axis(水平軸):指定用于水平移動(dòng)的輸入軸的名稱。例如,可以使用"Horizontal"作為水平軸的名稱。
Vertical Axis(垂直軸):指定用于垂直移動(dòng)的輸入軸的名稱。例如,可以使用"Vertical"作為垂直軸的名稱。
Submit Button(提交按鈕):指定用于提交操作的輸入按鈕的名稱。當(dāng)用戶按下該按鈕時(shí),會(huì)觸發(fā)相應(yīng)的提交事件。
Cancel Button(取消按鈕):指定用于取消操作的輸入按鈕的名稱。當(dāng)用戶按下該按鈕時(shí),會(huì)觸發(fā)相應(yīng)的取消事件。
Input Actions Per Second(每秒輸入動(dòng)作數(shù)):指定每秒處理的最大輸入動(dòng)作數(shù)。這用于限制輸入事件的頻率,以避免過多的輸入事件導(dǎo)致性能問題。
Repeat Delay(重復(fù)延遲):指定重復(fù)觸發(fā)按鈕事件之前的延遲時(shí)間。當(dāng)用戶按住按鈕不放時(shí),按鈕事件將在按下后的一段時(shí)間后開始持續(xù)觸發(fā)。
Force Module Active(強(qiáng)制模塊激活):當(dāng)勾選此選項(xiàng)時(shí),該輸入模塊將始終處于活動(dòng)狀態(tài),即使在層次結(jié)構(gòu)中被禁用的對(duì)象也一樣。這可以確保輸入事件的響應(yīng)性。
七、Touch Input Module(Deprecated):用于處理觸摸輸入的模塊
?
Force Module Active:定義了是否強(qiáng)制激活Touch Input Module模塊,即使在游戲?qū)ο蟮膶哟谓Y(jié)構(gòu)中被禁用的情況下也會(huì)被啟用。當(dāng)勾選Force Module Active時(shí),即使Touch Input Module所在的游戲?qū)ο蠹捌涓讣?jí)對(duì)象被禁用,該模塊仍然會(huì)被激活并處理觸摸輸入事件。這意味著即使對(duì)象不可見或不活動(dòng),該模塊仍可以接收并處理觸摸輸入。
這個(gè)屬性對(duì)于確保觸摸輸入的響應(yīng)性很有用,因?yàn)樗梢岳@過對(duì)象禁用狀態(tài),確保Touch Input Module始終處于活動(dòng)狀態(tài)。
需要注意的是,Touch Input Module被標(biāo)記為已棄用,不再推薦使用?,F(xiàn)在觸摸輸入的處理在 StandaloneInputModule 中進(jìn)行