输入文本内容为“;“未定义”;在Flash Actionscript 2.0中
我正在尝试创建一个简单的游戏 用户可以和屏幕上的角色“交谈”。然而,当我尝试我正在使用的代码时,else语句总是被触发,不管密码是否正确。当我弄不明白为什么时,我发现输出总是“未定义的”。一般来说,我对Flash几乎没有经验,所以错误可能很简单。我确信所有实例名称的编写和拼写方式与代码中的相同 代码:输入文本内容为“;“未定义”;在Flash Actionscript 2.0中,flash,actionscript-2,Flash,Actionscript 2,我正在尝试创建一个简单的游戏 用户可以和屏幕上的角色“交谈”。然而,当我尝试我正在使用的代码时,else语句总是被触发,不管密码是否正确。当我弄不明白为什么时,我发现输出总是“未定义的”。一般来说,我对Flash几乎没有经验,所以错误可能很简单。我确信所有实例名称的编写和拼写方式与代码中的相同 代码: stop(); sendb.onRelease = function(){ if (textbox.text == "no") { gotoAndStop(2);
stop();
sendb.onRelease = function(){
if (textbox.text == "no") {
gotoAndStop(2);
} else {
gotoAndStop(3);
}
}
其中:
- sendb:提交按钮
- 文本框:输入响应的文本框
textbox.text==“no”
。要验证这一点,请尝试使用空的多行文本输入:
trace(textbox.text.length); // gives : 1
为什么即使文本输入为“空”,您也会得到1
原因很简单,有一个换行符
字符(回车符或“\r”)自动插入到文本末尾
因此,在您的情况下,如果要使用多行文本字段,可以执行以下操作:
if (txt.text.substr(0, 2) == "no") {
gotoAndStop(2);
} else {
gotoAndStop(3);
}
或者只使用一行文本字段,代码就可以正常工作
希望这能有所帮助。确保文本框位于代码的可访问范围内。这意味着它与您编写代码的主时间线上的框架相同,并且位于主阶段的根级别