Flash 输入文本字段';bug';

Flash 输入文本字段';bug';,flash,actionscript-3,cs4,Flash,Actionscript 3,Cs4,我试图从输入类型的文本字段中获取输入,并将其数值保存在几个变量上,但当我输入例如1或任何数字时,我在跟踪调试中得到Nan,在我输入另一个数字后,我得到第一个,在输入另一个数字后,我得到前两个,依此类推。我做错了什么?这里是我代码中的一些片段 xSpeedField.addEventListener(TextEvent.TEXT_INPUT, inputXCapture); private function initField(field:TextField, l

我试图从输入类型的文本字段中获取输入,并将其数值保存在几个变量上,但当我输入例如1或任何数字时,我在跟踪调试中得到Nan,在我输入另一个数字后,我得到第一个,在输入另一个数字后,我得到前两个,依此类推。我做错了什么?这里是我代码中的一些片段

        xSpeedField.addEventListener(TextEvent.TEXT_INPUT, inputXCapture);

        private function initField(field:TextField, label:String, x:uint, y:uint):void {
        var format:TextFormat = new TextFormat();
        format.color = 0x00FF00;
        var textLabel:TextField = new TextField();
        textLabel.text = label+":";
        textLabel.defaultTextFormat = format;
        panel.addChild(textLabel);          
        field.type = TextFieldType.INPUT;
        field.restrict = "0-9.\\-";
        field.text = "0";
        field.border = true;
        field.background = true;
        field.backgroundColor = 0x333333;
        field.width = FIELD_WIDTH;
        field.height = FIELD_HEIGHT;
        panel.addChild(field);
        field.x = x;
        field.y = y;

        textLabel.x = field.x - 20;
        textLabel.y = field.y;
    }

    private function onEnterFrameHandler(event:Event):void {                                                            
        if ( ball.x + xspeed > stage.stageWidth) {
            xspeed *= -1;            
        }
        else if ( ball.x + xspeed < 0 ) {
            xspeed *= -1;                
        }

        if ( ball.y + yspeed > stage.stageHeight - FIELD_HEIGHT - BALL_RADIUS) {
            yspeed *= -1;            
        }           
        else if ( ball.y + yspeed < 0 ) {           
            yspeed *= -1;
        }           
        ball.x += xspeed;
        ball.y += yspeed;
    }               

    private function inputXCapture(event:TextEvent):void {
        xspeed = Number(event.currentTarget.text);
        trace(event.currentTarget.text);
    }
xSpeedField.addEventListener(TextEvent.TEXT_输入,inputXCapture);
私有函数initField(字段:TextField,标签:String,x:uint,y:uint):void{
var format:TextFormat=newtextformat();
format.color=0x00FF00;
var textLabel:TextField=new TextField();
text label.text=label+“:”;
textLabel.defaultTextFormat=格式;
panel.addChild(文本标签);
field.type=TextFieldType.INPUT;
field.restrict=“0-9.\\-”;
field.text=“0”;
field.border=true;
field.background=true;
field.backgroundColor=0x333333;
field.width=字段宽度;
field.height=字段高度;
panel.addChild(字段);
字段x=x;
字段y=y;
textLabel.x=field.x-20;
textLabel.y=字段.y;
}
私有函数onenterframeholder(事件:event):void{
如果(球x+x速度>舞台宽度){
xspeed*=-1;
}
否则如果(球x+x速度<0){
xspeed*=-1;
}
如果(球y+y速度>舞台高度-场地高度-球半径){
y速度*=-1;
}           
如果(ball.y+y速度<0){
y速度*=-1;
}           
ball.x+=x速度;
ball.y+=y速度;
}               
私有函数inputXCapture(事件:TextEvent):无效{
xspeed=Number(event.currentTarget.text);
跟踪(event.currentTarget.text);
}

当调度
TextEvent.TEXT\u INPUT
时,用户输入尚未附加到
TEXT
。它很有用-您可以调用
event.preventDefault()
并取消输入,
text
将保持不变

使用
事件。更改
事件。