Actionscript Take Input并与Int进行比较

时间:2017-11-01 16:48:24

标签: string actionscript-3 int var

我正在尝试使用输入文本字段从用户那里获取输入,此数据是一个数字。我希望用户输入正确的数字(在这种情况下为1),然后打印出yay。

然而,我无法让它发挥作用。非常感谢任何帮助。

我认为问题与比较int和字符串有关,但老实说我不再确定了。

import flash.events.MouseEvent;
import flash.text.TextField;

var dayVar:String = dayInput.text;
var dayNum:Number = Number(dayVar);


stop();

button3.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler3);

function mouseDownHandler3(event:MouseEvent):void
{
    if(dayNum == 1) {
        trace("yay");
    } else {
        trace("nay");
    }
}

2 个答案:

答案 0 :(得分:3)

在用户提供输入后,您必须更新dayVal和/或dayNum 。所以在这个极小的情况下你可以简单地说:

function mouseDownHandler3(event:MouseEvent):void{
    if(Number(dayInput.text)==1) {
        trace("yay");
    } else {
        trace("nay");
    }
}

其他可能性正在监听Event.CHANGE以获取文本输入,或KeyboardEvent更新您的变量,但在这种情况下,MouseEvent处理程序可以更轻松地完成工作。

答案 1 :(得分:-1)

您可以使用限制属性进行文本字段输入,如下所示:

dayInput.restrict = "0-9";

这应该省略只键入数字。