首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Actionscript 3:健康条和按钮

Actionscript 3:健康条和按钮
EN

Stack Overflow用户
提问于 2012-07-16 05:42:28
回答 1查看 677关注 0票数 0

所以基本上我正在做一个游戏,在游戏中点击一个按钮来减少健康条中的生命值。我在舞台上有一个名为fortyfivedown_btn的按钮和一个健康条,它是一个101帧(包括零)的电影剪辑。健康条有一个实例名lifebar。在舞台上,按钮编码为:

代码语言:javascript
复制
fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);
function fortyfivedownClick(event:MouseEvent):void{
    lifebar.health = lifebar.health-45;
    }

在健康条电影剪辑中,我有一层代码,那就是:

代码语言:javascript
复制
var health:int = 100;
gotoAndStop(health + 1);
if(health < 0) health = 0;
else if(health > 100) health = 100;
gotoAndStop(health + 1);

所以,这就是我的代码。问题是,当点击按钮时,健康条不会关闭。我跟踪了按钮中的健康变量:

代码语言:javascript
复制
  fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);
  function fortyfivedownClick(event:MouseEvent):void{
        lifebar.health = lifebar.health-45;
        }
        {
                trace(lifebar.health);  
                }

我看到输出是0。由于某种原因,按钮认为健康是0,而我在健康栏电影剪辑中声明它是100?任何帮助都是非常感谢的。

(编辑)

好的,作为跟踪问题的答案,如果我不这样做,就没有输出。我应该说我在这方面是一个初学者,而且我正在学习,所以请容忍我。这是我的fla文件:

https://skydrive.live.com/embed?cid=9AB08B59DCCDF9C6&resid=9AB08B59DCCDF9C6%21107&authkey=AGqFHhlHnvOXvuc

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-16 11:58:27

好的,把你生命条电影剪辑中的代码完全去掉,你现在可以删除那个层,然后用下面的代码替换你在主场景中的代码,你应该会得到你想要的结果:

代码语言:javascript
复制
fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);

var health:int = 100;

lifebar.gotoAndStop(101);

function fortyfivedownClick(event:MouseEvent):void{
    health -= 45;

    if(health < 0) health = 0;
    else if(health > 100) health = 100;

    lifebar.gotoAndStop(health + 1);

    //Can write this also: lifebar.health += 45;
    trace(health);
}

有其他方法可以做到这一点,但考虑到您当前的设置,这将是最小的修改,以获得您想要的。另一个选项是设置子画面的宽度。

我上传了一个修改后的fla和伴随者作为文件,我个人将如何做这件事,而不是在时间线上包括太多的事情:

http://www.mediafire.com/?d38hbm32p71x1n8

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11495856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档