Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输入文本内容为“;“未定义”;在Flash Actionscript 2.0中_Flash_Actionscript 2 - Fatal编程技术网

输入文本内容为“;“未定义”;在Flash Actionscript 2.0中

输入文本内容为“;“未定义”;在Flash Actionscript 2.0中,flash,actionscript-2,Flash,Actionscript 2,我正在尝试创建一个简单的游戏 用户可以和屏幕上的角色“交谈”。然而,当我尝试我正在使用的代码时,else语句总是被触发,不管密码是否正确。当我弄不明白为什么时,我发现输出总是“未定义的”。一般来说,我对Flash几乎没有经验,所以错误可能很简单。我确信所有实例名称的编写和拼写方式与代码中的相同 代码: stop(); sendb.onRelease = function(){ if (textbox.text == "no") { gotoAndStop(2);

我正在尝试创建一个简单的游戏 用户可以和屏幕上的角色“交谈”。然而,当我尝试我正在使用的代码时,else语句总是被触发,不管密码是否正确。当我弄不明白为什么时,我发现输出总是“未定义的”。一般来说,我对Flash几乎没有经验,所以错误可能很简单。我确信所有实例名称的编写和拼写方式与代码中的相同

代码:

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);

}
或者只使用一行文本字段,代码就可以正常工作

希望这能有所帮助。

确保文本框位于代码的可访问范围内。这意味着它与您编写代码的主时间线上的框架相同,并且位于主阶段的根级别