我正在制作一个带有健康栏的游戏,我正在尝试制作一个弯曲的健康栏。
目前我有一个lineBar,在屏幕的左下角有20个看起来像这样的段。
我想要做的是编写一个功能,通过并修改每个的scaleY以获得弯曲的条形。
我可以轻松地将它们缩小成一条直线。所以它看起来像三角形。
我想要指数衰减。
在正常的数学术语中,它可能类似于y = Pa^x
。
答案 0 :(得分:4)
我开发了一个带弯曲健康棒的游戏,这是我实现它的方式:
第1步:
创建曲线条。我建议使用Oval Primitive
工具:
画出你的酒吧。我建议创建一个引导层来演示弯曲段的整圆视觉效果。将条形图复制到另一个图层并使其成为面具,这将显示您的健康栏。掩码和片段应为MovieClips
:
第2步:
将面具的注册点设置为指导圆的中心。你的面具将围绕这一点旋转,以显示你的实际酒吧。旋转蒙版,使其位于实际条形图的左侧:
第3步:
创建一个掩码的补间,顺时针旋转100帧(添加更多帧以获得更精细的进展)。您甚至可以将补间应用到条形图形,颜色在填充时从红色变为绿色等。
第4步:
在此元素上使用gotoAndStop()
来确定在整个动画中应停止的帧。我在这里使用的公式通常是:
gotoAndStop( Math.round( currentHealth / maxHealth * x ) );
x
是您创建的帧数。
希望这有帮助。