Actionscript 获取输入并与 Int 进行比较

Actionscript Take Input and compare to an Int

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

但是,我无法让它工作。非常感谢任何帮助。

我假设问题与比较 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");
    }
}

您可以像这样对文本字段输入使用限制 属性:

dayInput.restrict = "0-9";

这应该忽略只输入数字。

您必须在 dayVal and/or dayNum 用户提供输入后更新您的内容。所以在这个最小的情况下你可以简单地:

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

其他可能性是监听 Event.CHANGE for the text input, or KeyboardEvent 来更新您的变量,但在这种情况下,MouseEvent 处理程序更容易完成工作。