我正在尝试在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;
答案 0 :(得分:0)
InputTextbox(是一个带有InputTextbox变量的输入框)
TimesEight = _root.InputTextbox * 8;
在变量
中命名动态文本框“TimesEight”我可以附上一个例子,但如果你不能弄清楚这样的话,我会做更多的研究......