0

我在整个编程方面完全是新手,我真的需要帮助。所以基本上,我正在尝试制作一个会根据单击的按钮增加或减少的健康栏。我制作了一个 101 帧(我包括零帧)的 healthbar 影片剪辑,并将其放在影片剪辑的动作脚本层中:

var health:Number = 0;

if(health == 0)
{
        gotoAndStop("1")
}

if(health == 1)
{
        gotoAndStop("2")
}

if(health == 2)
{
        gotoAndStop("3")
}

就这样继续下去。基本上,在舞台上,我有一个名为 fortyfiveup_btn 的按钮,用于执行此操作:

var health:Number = 0;

fortyfiveup_btn.addEventListener(MouseEvent.CLICK, fortyfiveupClick);
function fortyfiveupClick(event:MouseEvent):void{
    health = health+45
}

我很快意识到两个健康变量,一个用于按钮的变量和一个用于健康栏的变量都不会交互。如果单击按钮,我该如何做到这一点,健康状况会转到相关的框架或百分比?

感谢您的任何回答,我很感激我能得到的所有帮助:)

4

1 回答 1

0

如果answer == yes对我的评论你应该这样做:

你需要给movieclip一个instancename(也许是lifebar),并且从stage你可以访问“lifebar”里面的健康lifebar.health

所以你在你的舞台上需要这个:

//You can delete the var health:Number = 0;
fortyfiveup_btn.addEventListener(MouseEvent.CLICK, fortyfiveupClick);
function fortyfiveupClick(event:MouseEvent):void{
    //You can write this, too: lifebar.health += 45;
    lifebar.health = lifebar.health+45;
}

您甚至可以优化您的生命条脚本,不要使用 101 次,if(health == x)您也可以使用它:

gotoAndStop(health + 1);

(我认为这是在一个ENTER_FRAME事件中?)

编辑:

一些错误对策:

//Don't let health decrease below 0
if(health < 0) health = 0;
//And don't above 100
else if(health > 100) health = 100;
gotoAndStop(health + 1);

当你不使用十进制数字和不使用负整数时使用int而不是(当数字可以下降到 0 以下时,这个错误,所以为了你的健康,我们采取):Numberuintint

health:int = 0;
于 2012-07-14T18:06:13.427 回答