用Unity的UGUI實現簡單搖桿


1.在Canvas下新建一個空對象作為我們的搖桿,命名為Joystick。

搖桿由背景和桿兩部分組成,所以在Joystick下新建一個Image作為搖桿的背景,命名為BG。

在BG下新建一個Image作為搖桿的桿,命名為stick,背景和桿的位置和顏色自行調整,結構如下。

2.為BG和stick的Source Image屬性添加一個圓形圖片,或使用自己准備的素材。

3.新建腳本文件“Joystick”,並掛在Joystick上。

4.在腳本中添加“using Unity Engine.UI;”,並使腳本繼承自ScrollRect,然后就可以直接使用ScrollRect中的屬性了!

5.返回unity界面看看多了哪些屬性,

將Elasticity屬性設置成0,拖動搖桿時人物移動,松開搖桿時人物就要立刻停止移動,就是說松開桿時,桿要立刻復位,Elasticity設置成0時桿就會立刻復位,數值越大復位的速度越慢。

如上圖所示,我們需要將BG拖到Viewport上,把stick拖到Content上,此時如果運行項目會發現搖桿已經可以拖動了。

 

6.我先說明一下腳本中會用到的兩個屬性,如下圖:

知道了背景寬度也就知道了背景的半徑,我們需要把桿的移動范圍控制在半徑之內。

然后我們將桿的位置賦值給一個向量,通過在外界調用這個向量也就得到了桿的移動方向,有了這個方向也就有了人物的移動方向,代碼如下:

7.需要注意掛載搖桿腳本的對象的位置要設置成(0,0),因為content的局部坐標是以掛載搖桿腳本的對象的位置為基准的。

 

8.在控制人物移動的代碼如下:

joystick.stickPos表示桿的移動方向。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM