2012-02-21 96 views
0

我正在做一個健康酒吧的遊戲,我正在嘗試製作一個彎曲的健康酒吧。如何創建彎曲的健康欄?

目前我有一個lineBar有20個部分,看起來像這樣在屏幕的左下角。

我想要做的是寫一個函數,通過並修改每個的scaleY來獲得一個曲線條。

我可以很容易地將它們縮小爲一條直線。所以它看起來是三角形。

我想要指數衰減。

在正常的數學術語中,它可能類似y = Pa^x

+2

酷!你的具體編程問題是什麼? – paislee 2012-02-21 23:10:14

+0

您可以[在這裏玩我的Flash遊戲之一](https://projectavian.com/games/daz3/),告訴我這是您嘗試創建的健康風格嗎? – Marty 2012-02-21 23:51:19

+0

不是一個真正的答案,但在我看來,爲了節省工作量,同時實現良好的美學效果,僅使用部分圖像可能會更容易。您可以在左邊顯示X%的「完整健康」,右邊顯示空白健康圖像的Y%,或者在該方法上顯示任意數量的變體。 – 2012-02-22 00:05:53

回答

4

我公司開發的遊戲有彎曲的健康酒吧前陣子,我這是怎麼實現的吧:

第1步:

創建曲杆。我建議Oval Primitive工具:

enter image description here

畫出你吧。我建議創建一個指導層來展示您的曲線段的整個圓形視圖。將該欄複製到另一個圖層上並將其作爲蒙版,這將顯示您的健康欄。在掩模和段應該是MovieClips

enter image description here


步驟2:

面罩的註冊點設置爲您的導圓的中心。你的面具將圍繞這一點旋轉,以顯示你的實際酒吧。旋轉你的面具,以便它是你的實際欄圖形左側:

enter image description here


第3步:

創建你的面具跨越100幀順時針旋轉的吐溫(加更好的進展更多的幀)。你甚至可以申請補間酒吧消費的圖形,其中來自紅顏色變爲綠色,因爲它填補等

enter image description here


第4步:

此元素上使用gotoAndStop()以確定整個動畫中應該停止的幀。我在這裏使用的公式一般爲:

gotoAndStop(Math.round(currentHealth/maxHealth * x)); 

哪裏x是幀創建的金額。

希望這會有所幫助。

+0

謝謝我可能會使用一段時間。我結束了使用線段。首先我做了一個基線條,您可以傳遞1段的藝術,段的數量和間距。我給它一個使用這個方程彎曲的函數來獲得一個體面的曲線。 – 2012-03-19 08:38:51