AS2:输入整数文本?

时间:2013-06-03 23:53:44

标签: flash dynamic actionscript textbox actionscript-2

我正在尝试在Flash Actionscript 2中创建一个应用程序,其中包括将输入文本乘以8。有六个文本框;一半是输入,一半是动态的。当用户将数字输入一个时,相应的输出应该变为原始数量的八倍。 (但是,中间文本框及其对应的文本框保持彼此相等。)

我不希望用户必须一直按下按钮,因此在框架外我放了一个“控制面板”动画片段。它基本上有两个框架,一个具有我想要的任务,所以它基本上每秒执行12次,速度为24 fps。

现在,相同的中间文本框工作正常。我可以将第一个中间值改为6,第二个中间值为6。与任何其他数字相同。但是另外两组文本框,即乘以8的文本框,它们总是以NaN形式出现。

启动应用程序时,我将所有输入文本框的值设为0。奇怪的是,动态的也是0.我尝试将输入文本框从2开始,当然,动态的文本框是16.然而,他们在第二次触及输入时变成了NaN。显然,这意味着问题在于来自输入的字符串。

我尝试在将其转换为整数之前从其中一个输入中跟踪字符串。我输入了一个3,当我追踪它时,而不是像我预期的那样得到“3”,我得到了这个:

<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="18" COLOR="#000000" LETTERSPACING="0" KERNING="0">3</FONT></P></TEXTFORMAT>

所以这显然是问题;我只是不知道如何修复它所以输出只是“3”或无论数字是什么。

以下是变量:

• NTO_x = input that will be multiplied by 8 
• NTO_y = input that will not be changed 
• NTO_z = input that will be multiplied by 8 
• OFN_x = output of NTO_x 
• OFN_y = output of NTO_y 
• OFN_z = output of NTO_z

这是代码:

在场景框架上:

//Sets the textboxes to number-only
NTO_x.restrict = "0-9";
NTO_x = "0"
NTO_y.restrict = "0-9";
NTO_y = "0";
NTO_z.restrict = "0-9";
NTO_z = "0";`

在“控制面板”movieclip的第二帧:

//Multiplies x and z by 8
_root.OFN_x = Number(_root.NTO_x) * 8;
_root.OFN_y = _root.NTO_y;
_root.OFN_z = Number(_root.NTO_z) * 8;

1 个答案:

答案 0 :(得分:0)

InputTextbox(是一个带有InputTextbox变量的输入框)

TimesEight = _root.InputTextbox * 8;

在变量

中命名动态文本框“TimesEight”

我可以附上一个例子,但如果你不能弄清楚这样的话,我会做更多的研究......