所以基本上我正在制作一个游戏,其中点击一个按钮来减少健康栏中的健康数量。我在舞台上有一个名为fortyfivedown_btn的按钮,以及一个健身杆,它是一个101帧(包括零)动画片段。健康栏具有生命栏的实例名称。在舞台上,按键编码是:Actionscript 3:健康栏和按钮
fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);
function fortyfivedownClick(event:MouseEvent):void{
lifebar.health = lifebar.health-45;
}
里面的healthbar影片剪辑,我有编码一层是:
var health:int = 100;
gotoAndStop(health + 1);
if(health < 0) health = 0;
else if(health > 100) health = 100;
gotoAndStop(health + 1);
因此,有我的编码。事情是,当按钮被点击时,健康栏不会停止。我跟踪的健康变量按钮:
fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);
function fortyfivedownClick(event:MouseEvent):void{
lifebar.health = lifebar.health-45;
}
{
trace(lifebar.health);
}
我看到输出为0。出于某种原因,该按钮认为健康是0,当我宣布这是100的healthbar影片剪辑里面?任何帮助表示赞赏。
(编辑)
好了,在回答问题的跟踪,如果我不那样做,没有输出。我应该说我是这样的初学者,而且我正在学习,所以请耐心等待。这里是我的FLA文件:
你的代码是很混乱的,为什么你有函数外面的轨迹附加额外支撑?我认为你不了解时间线中的代码是如何工作的,只有在输入框架时才会触发代码。您需要运行状况为与MovieClip相关的类中的变量,而不是时间轴上的变量。理想情况下,我将使用setter方法使用您基本显示的逻辑来调整它在MovieClip中的帧。发布您的FLA将有所帮助。 – shaunhusain 2012-07-16 01:28:09
我已经上传了fla文件。 – Triple 2012-07-16 03:32:27
刚刚添加我的答案(也有一些格式化问题在那里)现在应该是好的,让我知道如果有问题,但我尝试了当地和工作得很好。 – shaunhusain 2012-07-16 03:59:53