2012-07-09 89 views
1

我有一个健康栏,进入框架时,它稍微减少,并没有充分。我怎样才能解决这个问题? “应该”代表我想要的样子。 “目前的状况”代表我遇到的问题。健康吧不是100%满的

应该是:

什么目前是:

package 
{ 

import flash.display.MovieClip; 
import flash.display.Sprite; 
import flash.events.Event; 
import flash.events.TimerEvent; 
import flash.events.KeyboardEvent; 
import flash.utils.Timer; 
import flash.text.Font; 
import flash.events.MouseEvent; 
import flash.text.TextDisplayMode; 
import flash.text.TextExtent; 
import flash.text.TextField; 
import flash.text.TextFormat; 
import fl.motion.easing.Back; 
import flash.display.DisplayObject; 
import flash.geom.Point; 
import flash.ui.Mouse; 
import flash.events.TimerEvent; 


public class healthBar extends MovieClip 
{ 

    public var maxHP:int = 670; 
    public var currentHP:int = maxHP; 
    public var percentHP:Number = currentHP/maxHP; 

    public function healthBar() 
    { 
      updateHealthBar(); 
    } 
    public function updateHealthBar() 
    { 
     percentHP = currentHP/maxHP; 
     scaleX = percentHP; 
    } 

} 

} 
+2

“currentHP”来自哪里?什么是实际更新显示的代码? – artlung 2012-07-09 20:27:29

+0

确保healthBar实际上与背景中的MC宽度相同(构成边框)。我知道这听起来很明显,但你的代码是绝对正确的。边界是否在任何阶段调整过? – 2012-07-10 07:52:22

回答

0

如果出现打印语句输出percentHP变量,它,其实,显示正确的价值? 1在这种情况下,我相信。

你也可以手动设置scaleX 1,看看是否仍然产生非缭绕的酒吧。

根据两次测试的结果,您可以缩小问题的范围,如何使用scaleXpercentHP如何更新。

+0

它确实打印出来了1.将scaleX设置为1没有不同的效果。 – 2012-07-09 20:39:47

+1

您刚刚将问题缩小到了实际的实施情况。我认为这不是你的整个代码。您介意发布scaleX在更改健康栏方面发挥作用的地方吗? – SWPhantom 2012-07-09 20:59:24