我对 Flash 很陌生,我正在我的网站上进行地形测验。
我的地形测验的目标是按随机顺序获得 72 个城市名称问题。我已经做了这个,但问题是,因为顺序是随机的,问题可能会回来。因此,如果您完成了一个问题,它以后一定不能再回来。我想我可以通过给每一帧都赋予一个变量来解决这个问题,这些帧在开始时都具有值“2”。如果您转到一个框架并输入正确的城市名称,该框架的变量将变为“1”。如果您输入了错误的答案,变量将变为“0”。在每一帧的开头我都写了:“if(city01 == 2){”所以如果你之前从未有过这个问题,那么你只会得到这个问题。如果没有,您将进入下一个(随机)帧。
在第一帧我定义了变量:
var input:String;
var randomnumber:int;
var city01:int = 2;
var city02:int = 2;
var city03:int = 2;
var city04:int = 2;
etc. etc. etc.
这是一个问题框架的代码示例:
stop();
if(city26 == 2){
okButton.addEventListener(MouseEvent.CLICK, okClickcity26);
function okClickcity26(event:MouseEvent):void{
input = textbox.text;
if(input == "Dakar"){
city26 = 1;
}else{
city26 = 0;
}
randomnumber = Math.floor(Math.random()*(1+73-3))+3;
gotoAndStop(randomnumber);
}
}else{
randomnumber = Math.floor(Math.random()*(1+73-3))+3;
gotoAndStop(randomnumber);
}
Flash 确实将变量更改为“1”或“2”,但也只是显示问题而不转到下一帧。
所以 Flash 在最后执行代码:
else{
randomnumber = Math.floor(Math.random()*(1+73-3))+3;
gotoAndStop(randomnumber);
}
但不会去那个随机帧......
有人知道我做错了什么吗?
这是我在论坛上的第一个问题,所以我希望我能很好地解释我的问题,所以你可以帮助我。谢谢。