我怎样才能创建一个弯曲的健康栏?

时间:2012-02-21 23:08:35

标签: actionscript-3 line equation

我正在制作一个带有健康栏的游戏,我正在尝试制作一个弯曲的健康栏。

目前我有一个lineBar,在屏幕的左下角有20个看起来像这样的段。

我想要做的是编写一个功能,通过并修改每个的scaleY以获得弯曲的条形。

我可以轻松地将它们缩小成一条直线。所以它看起来像三角形。

我想要指数衰减。

在正常的数学术语中,它可能类似于y = Pa^x

1 个答案:

答案 0 :(得分: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是您创建的帧数。

希望这有帮助。