【问题标题】:Flash CS6 AS3: Else If statementFlash CS6 AS3:Else If 语句
【发布时间】:2013-10-11 01:19:01
【问题描述】:

我之前已经解释过了,得到了很好的答案。出于某种原因,它并没有像我想要的那样工作。我有一个从 15 秒开始倒计时的计数器。我希望用户输入“4 8 15 16 23 42”,然后单击按钮或回车。然后,这将启动一个不同的场景,使计数器回到 1:08:00..

但是如果他们没有在计数器归零之前输入数字,我希望它显示计算机爆炸或剧烈摇晃的不同场景。这是我之前得到的代码。但是一旦我按下按钮,它就会在 15 秒后重新启动,而不是播放我的新场景。

编辑:刚刚发现如果您输入任何数字,甚至不是正确的数字,它都会从 15 开始计数器。

导入 flash.events.MouseEvent; submitbtn.addEventListener(MouseEvent.CLICK, testPassword); function testPassword(e:MouseEvent):void { if (numbertext.text == "4 8 15 16 23 42") { gotoAndPlay("success");

} else { gotoAndPlay("shake");

}

}

【问题讨论】:

  • 如果你们需要我的时间线样本,我会发布图片。我是闪光灯的菜鸟!
  • 如果我的回答有效,您可能想接受它...

标签: actionscript-3 flash if-statement


【解决方案1】:

首先,这只有在你用鼠标点击时才会起作用,所以如果你想添加按回车的可能性,你应该添加监听器,

as3 中的 gotoAndPlay 就像 gotoAndPlay(frameNumber, "sceneName"); 所以你的功能应该是:

import flash.events.MouseEvent; 
submitbtn.addEventListener(MouseEvent.CLICK, testPassword); 

function testPassword(e:MouseEvent):void { 
if (numbertext.text == "4 8 15 16 23 42") { 
     gotoAndPlay(1, "success");
} else { 
     gotoAndPlay(1, "shake");
  }
}

关于计时器,请确保当你实例化它时,你是这样做的,

var timer:Timer = new Timer(15000,1); // 15sec and just 1 time

监听者应该是TimerEvent.TIMER_COMPLETE

但是你需要做的是阅读文档,也可能是一些教程,学习基础知识......

【讨论】:

  • 完美,我得到了这个对我来说完美的工作!除了我需要返回并添加输入选项,因为除非用户单击我为他们制作的按钮,否则它不起作用!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
  • 2012-12-18
  • 1970-01-01
  • 2017-02-05
相关资源
最近更新 更多