[回到版面]
回應模式
名 稱
E-mail
標 題
內 文
附加圖檔[] []
刪除用密碼(刪除文章用。英數字8字元以內)
  • 可附加圖檔類型:GIF, JPG, PNG, JPEG,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 2000 KB。當回文時E-mail填入sage為不推文功能
  • 當檔案超過寬 125 像素、高 125 像素時會自動縮小尺寸顯示
  • 程式碼可使用 [code][/code] 以 google-code-prettify 標亮 (程式自動判斷語言類別)

  • 公告、舉報、建議請向DB管理室辦理。
  • 本板討論遊戲製作為主,改造方面也可討論,但如果牽涉到版權,請自重。
  • 3D建模請至3D板, 3D遊戲製作(Ex.怎麼用DirectX跑3D?)則可在這討論。
  • 本板為一般向板面,禁止張貼上車圖。

檔名:1442051624715.jpg-(18 KB, 565x280) [以預覽圖顯示]
18 KBUnity5 ugui血條製作 名稱: 無名氏 [15/09/12(六)17:53 ID:3S3ZVPW.] No.11426 2推 [!] 
想做類似LOL的血條製作
LOL血條的長度是固定的,隨著血量數值越來越高
綠色血條跟黑色線會越來越密集
讓綠色條往後扣可以理解 做法也很簡單

那黑色的線條通常會用什麼東西做?
粗細多寡也會因血量最大值變化
可以請島民給一下邏輯的思考方向嗎?謝謝
無名氏: 雖然沒用過unity 但通常黑色會是一塊背景吧? 上面再以現在的血量畫上綠色方塊 (0qZjOWl2 15/09/12 18:07)
無名氏: 只要寫一個簡單的算式算出血量對應的數量跟間距就好 (0qZjOWl2 15/09/12 18:09)
無標題 名稱: 無名氏 [15/09/12(六)19:00 ID:adbmdAX.] No.11427  [!]  
雖然我沒玩過LOL也沒用過unity
不過說說我的想法

看到這樣的東西
我會想讓黑色畫在綠色的上層
綠色就是一條完整的、古典式的血條
再在上面對應的地方畫上黑色線條,造成截斷的效果

假設現在滿血量是670、血槽長度固定有250pixel、黑線設定每100滴一條
那黑色線條就大概會畫在100*250/670=37pixel的地方
依此類推下一條100*2*250/670=74
第六條100*6*250/670=223

如果血槽背景有東西而不是單純的黑色的話
就改成在對應位置把綠色血條擦掉(改成透明色or不透明度=0)
無標題 名稱: 原PO [15/09/14(一)20:48 ID:Z96Pld7A] No.11440  [!]  
 檔名:1442234938524.jpg-(20 KB, 267x288) [以預覽圖顯示] 20 KB
感謝兩位的回覆

實際上我還想做類似上盾這種效果
這樣還會有白色條混在可能一半的綠色條上

如果用這個方法似乎是產生綠色色塊的方法比較好?
其實還有點頭痛的是Unity uGUI產生色塊會是一個一個GameObject(Image)
每個Frame去清掉再產生好像有點蝦

這邊目前還在頭痛
咕狗了半天沒什麼人在講直接傳統畫2D線或點面的方法

還在嘗試中
無標題 名稱: baka [15/09/15(二)00:29 ID:U0baTtJQ] No.11441  [!]  
>>No.11440
>>Frame去清掉再產生好像有點蝦
請不要經常用update去處理,超影響效率

白色盾不就在綠色上,多拉一個image嗎?
沒盾就width = 0 / scale X = 0
只是這個image要靠血條右邊

>>咕狗了半天沒什麼人在講直接傳統畫2D線或點面的方法
不清楚你指的"傳統畫2D線或點面"是甚麼,本上動動腦筋,很多2D介面都要生出來都不太難。
無標題 名稱: 無名氏 [15/09/15(二)21:01 ID:.oWGBX7A] No.11448 1推 [!]  
目前有個場景會有類似毒的效果會一直扣血....
然後Update又必須計算血量的改變...所以才會要很動態

白盾我會了 我一時腦殘卡住XD

很久之前是用Unity的LineRenderer去產生線條跟色塊(3D)
查了一下LineRenderer似乎也有2D版的
還在研究中

以前是用C++引擎的 最近半年轉Unity有些地方還在熟悉 Orz
原PO: 忘了說我是原PO (.oWGBX7A 15/09/15 21:02)
無標題 名稱: baka [15/09/20(日)14:24 ID:O5HvZUVU] No.11486 8推 [!]  
>>No.11448
unity的 update基本上是非必要都不要碰的
盡量還是扣血時才直接扣吧
不過如果你已經做了就繼續吧

ugui應該可以解決大部2D問題
我想應該不需用到LineRenderer吧?
baka: |д゚)<中毒類,我建議用invoke ,不然用StartCoroutine 也可以 (O5HvZUVU 15/09/20 14:36)
無名氏: 用invoke跟coroutine在戰鬥你遊戲會卡到死,還不如用UPDATE (kG4W8gZY 15/09/21 23:45)
無名氏: UPDATE只是因為對初學者而言,很容易把整段CODE寫在裡面,造成消耗而豪不自知 (kG4W8gZY 15/09/21 23:48)
baka: |д゚)<重點還是要看你怎麼用,太多的invoke和coroutine當然也會卡死 (C/cskEKg 15/09/22 07:30)
baka: |д゚)<但是有些1s一次的運行,你可不會想用update的,coroutine我承認這邊應該用不著 (C/cskEKg 15/09/22 07:31)
無名氏: 1秒1次運行,你用update寫個定時器,需要時再去繼承呼叫來用,我跟你保證100%快過invoke (RHVfsNCM 15/09/22 21:09)
無名氏: 沒有什麼高深理論,因為Unity本身系統就是以Update函式為主,用引擎自身的來做會比較有效率 (RHVfsNCM 15/09/22 21:12)
baka: |д゚)<竟然你都拍心口說"100%",那我也不便跟你爭論了 (C/cskEKg 15/09/22 21:27)
無標題 名稱: 坑坑坑坑坑 [15/09/22(二)12:28 ID:.rw6J1Vo] No.11502 2推 [!]  
 檔名:1442896085687.png-(49 KB, 314x233) [以預覽圖顯示] 49 KB
血格在高血量時不能太密耶!
要想個辨法減少,不然都是黑線了。
坑坑坑坑坑: 左邊450 右邊4500 (.rw6J1Vo 15/09/22 12:28)
坑坑坑坑坑: 右邊的血被我偷打掉一點點 (.rw6J1Vo 15/09/22 12:29)
無標題 名稱: 無名氏 [15/09/22(二)13:55 ID:Xk8THi.g] No.11504 2推 [!]  
>>No.11502
像LOL的話
1千開始會自己再一次分隔
然後血量超過3千的話就可以考屢以1百為單位調整了

再來就是要不要考慮用比例來調整黑線大小
感覺你黑線寬度是固定的
坑坑坑坑坑: 黑線是最細的1pixel了 (.rw6J1Vo 15/09/22 16:47)
無名氏: 用血條變色方法HP 1000一條,4500可以 多打好幾條成就感滿足 (FJVOyQd2 15/09/23 02:10)
無標題 名稱: 無名氏 [15/09/22(二)18:22 ID:qK1V8G32] No.11508  [!]  
>>No.11502
可以考慮在血量很高時改變間隔
例如每500畫一條紅線
總血量破1500就不再畫黑線,只畫三條以上的紅線這樣
500~1500之間紅黑線兼具,讓玩家比較容易理解發生了什麼事
如果有人血多到會讓紅線也太擠就再往上做一階

【刪除文章】[]
刪除用密碼:

第一頁[0] 最後一頁