Я пытаюсь получить ввод из текстового поля типа INPUT и сохранить его числовое значение для пары переменных, но когда я ввожу, например, 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);
}