2012-02-21 113 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