首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动作脚本3中的嵌套脚本

动作脚本3中的嵌套脚本
EN

Stack Overflow用户
提问于 2013-10-17 09:56:29
回答 1查看 38关注 0票数 0

好了,有人真的可以帮我解决这个问题,我一直在努力工作,直到现在。最后一件事是我需要的是nextquestion1函数,它将我带到我的应用程序的最后一个形式。

我点击我的按钮nextQuestion_btn,将我带到我拥有的其中一个带标签的框架。我点击它,没有任何反应。另外,在两个事件侦听器之间有很多缺失的代码,只是想让你知道。

So...How我可以编写这段代码,这样我就可以用按钮触发下一帧吗?

代码语言:javascript
运行
复制
stage.addEventListener(Event.CHANGE, checkTotal1000)

    function checkTotal1000(e:Event){

    var tech:Number = parseInt(tech_txt.text);
    var med:Number = parseInt(med_txt.text);
    var space:Number = parseInt(space_txt.text);
    var genetic:Number = parseInt(ge_txt.text);
    var worldComp:Number = parseInt(worldComp_txt.text);
    var mars:Number = parseInt(mars_txt.text);
    var worldColab:Number = parseInt(worldColab_txt.text);
    var nothing:Number = parseInt(nothing_txt.text);

    var zombieApocFinal:Number = zombieApoc + genetic;
    var robotApocFinal:Number =  robotApoc+ tech;
    var plagueFinal:Number = plague + med;
    var asteroidFinal:Number = asteroid + mars;
    var iceAgeFinal:Number = iceAge + nothing;
    var aliensFinal:Number = aliens + space;
    var nukeWarFinal:Number = nukeWar + worldComp;
    //var happyEverAfterFinal:Number = ;

trace(aliensFinal);

var total1000:Number = tech + med + space + 
    worldComp + mars + genetic + worldColab + nothing;


nextQuestion_btn.addEventListener(MouseEvent.MOUSE_DOWN, nextQuestion1)
function nextQuestion1(e:MouseEvent){   

if(tech && med && space &&  genetic && worldComp 
   && mars && worldColab && nothing == 125){
    gotoAndStop(7);   
}
if(robotApocFinal > zombieApocFinal && plagueFinal &&
   asteroidFinal && iceAgeFinal && aliensFinal &&
   nukeWarFinal){
       gotoAndStop("Robot");  
}
else if(zombieApocFinal > robotApocFinal && plagueFinal &&
   asteroidFinal && iceAgeFinal && aliensFinal &&
   nukeWarFinal){
       gotoAndStop("Zombie");   
}
else if( plagueFinal > zombieApocFinal && robotApocFinal &&
   asteroidFinal && iceAgeFinal && aliensFinal &&
   nukeWarFinal){
       gotoAndStop("Plague");  
}

else if( asteroidFinal > zombieApocFinal && robotApocFinal && 
   plagueFinal && iceAgeFinal && aliensFinal &&
   nukeWarFinal){
       gotoAndStop("Asteroid");  
}
else if( iceAgeFinal > zombieApocFinal && robotApocFinal && 
   plagueFinal && asteroidFinal && aliensFinal &&
   nukeWarFinal){
       gotoAndStop("IceAge");  
}
else if( aliensFinal > zombieApocFinal && robotApocFinal && 
   plagueFinal && asteroidFinal && iceAgeFinal &&
   nukeWarFinal){
       gotoAndStop("Aliens");  
}
else if( nukeWarFinal > zombieApocFinal && robotApocFinal && 
   plagueFinal && asteroidFinal && iceAgeFinal &&
    aliensFinal){
       gotoAndStop("Nuke");
}
}
}
EN

回答 1

Stack Overflow用户

发布于 2013-10-17 11:21:22

显然,您使用的是二进制标志,但您使用的是&&运算符,该运算符仅适用于布尔值。这样,如果两个int中的任何一个为0,则不满足任何条件。显然,如果其中一个整型数大于其他整型数,则需要触发gotoAndStop()。为此,您可以使用以下代码:

代码语言:javascript
运行
复制
var bestFinal:int=Math.max(asteroidFinal, zombieApocFinal, robotApocFinal,
plagueFinal, iceAgeFinal, aliensFinal, nukeWarFinal);
if (bestFinal==asteroidFinal) {...}
else if (bestFinal==zombieApocFinal) {...}
...

如果要测试一个变量是否大于所有其他变量,则不能使用已编写的内容,而是使用Math.max()和检查是否相等,或者编写多个比较并通过&&将它们合并,如下所示:

代码语言:javascript
运行
复制
if ((asteroidFinal > zombieApocFinal) && (asteroidFinal > robotApocFinal) && 
(asteroidFinal > plagueFinal) && (asteroidFinal > iceAgeFinal) && 
(asteroidFinal > aliensFinal) && (asteroidFinal > nukeWarFinal))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19416998

复制
相关文章

相似问题

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