在許多態別遊戲中我們經常會使用到揹包,利用揹包來設定相應角色屬性,多了揹包也會讓遊戲增色拓展不少。
那在unity3d遊戲開發中該如何編寫揹包系統呢?因為有高人開發了ngui外掛程式,因此我們進行簡單編寫**設定即可實現乙個簡單的揹包功能了。
新建乙個工程packagedemo
匯入ngui包(最新版3.9.8版的正版89刀)
準備好素材,使用ngui將其打包成圖集
揹包
揹包格仔
物品 專案目錄以及場景列表如下:
要注意的是:
新增在指令碼使package可以被拖拽移動。
直接在obj的屬性面板add component新增指令碼 mydraganddrop.cs
令mydraganddrop繼承uidragdropitem
重寫ondragdroprelease方法
更改後的mydraganddrop指令碼**如下:
到這裡簡單例子也就完成了。
可以看到,到我拖拽obj在每個cell的邊緣時,obj都會自動移至碰撞的cell內,類似吸附功能。
上面的簡單例子實現了物體被揹包吸附裝入的功能,通過檢測cell的子物體增加相應邏輯就可以實現揹包和角色屬性關聯。
給所有物品設定tag為 「obj」 ,如果物品拖拽釋放時碰撞獲取的物件tag為「obj」,就設定交換物品的父級物件。
一般撿取得物品到揹包其排序都是從左到右,從上到下填入空的物品欄中。
實現方式是將所有物品欄物件裝載到gameobject的陣列中。
通過迴圈判斷物品欄是否有子物件,也就是判斷物品欄的子列表數值是否大於0
若小於或等於0,就將物品的父物件設定為該物品欄,然後設定其相對父物件座標為0
Unity 3D學習 NGUI中Tab的實現
個人覺得很簡單實用,所以分享給大家 1 建立乙個sprite 假設加taba 新增元件 ui toggle 然後在taba中建立兩個子物體,乙個是label作為顯示文字,另乙個同樣是sprite 假設叫highlightsprite 設定它的 sprite 屬性 就是資源 最後將其拖到taba的 u...
Unity3D外掛程式 NGUI螢幕自適應
ngui可以比較方便的實現螢幕自適應,但是它的官方教程裡面針對這個問題沒有詳細的教程,所以可能在實現的時候會走比較多的彎路。以下是我在開發過程中找到的乙個比較方便的實現方法。1.uianchor 這個是用來確定控制項在螢幕中的位置,另外有一篇教程專門講它的功能,所有不會再贅述 2.uistretch...
unity3D遊戲開發十七之NGUI四
接下來我們講解下uigrid,uigrid是用來輕鬆的排列眾多widget到固定大小格仔的指令碼。編輯時和執行時都可以使用。如果想使用可變的格仔單元大小,你可以使用uitable,屬性如下圖 arrangement的值決定了子節點的擺放位置。horizonta讓子節點向右排列,vertical向下排...