谁能帮帮忙,急!我flash8.0在做一个加法练习。第一层建了两个输入文本和一个动态文本。
谁能帮帮忙,急!我flash8.0在做一个加法练习。第一层建了两个输入文本和一个动态文本。变量名分别为a,b,c.第二层放了一个按钮,在按钮上设置动作为:on(press...
谁能帮帮忙,急!我flash8.0在做一个加法练习。第一层建了两个输入文本和一个动态文本。变量名分别为a,b,c.第二层放了一个按钮,在按钮上设置动作为:on (press) {
c = Number(a)+Number(b);
}可当测试时动态文本则显示为“NaN”.不是两个数字相加当结果。这是为什么? 展开
c = Number(a)+Number(b);
}可当测试时动态文本则显示为“NaN”.不是两个数字相加当结果。这是为什么? 展开
1个回答
展开全部
flash8的文本框"变量"功能做的并不好,像你这个代码在CS3版里面是完全没有问题的.
但是flash8中,尽可能不要使用"变量名"这个东西,在这个版本中,"变量"貌似只能在加载的第一帧起作用,而且还不会忽略undefined,所以最简单的解决方式是,把a,b,c三个文本框分别写上实例名a,b,c,删掉"变量"一栏
然后代码改成:
on (release) {
_root.c.text = Number(_root.a.text)+Number(_root.b.text);
}
---
补充一点,出现NaN的原因还有可能是你写数字的时候不规范,可能多打了空格之类的.那样是没办法转换成数字的.
但是flash8中,尽可能不要使用"变量名"这个东西,在这个版本中,"变量"貌似只能在加载的第一帧起作用,而且还不会忽略undefined,所以最简单的解决方式是,把a,b,c三个文本框分别写上实例名a,b,c,删掉"变量"一栏
然后代码改成:
on (release) {
_root.c.text = Number(_root.a.text)+Number(_root.b.text);
}
---
补充一点,出现NaN的原因还有可能是你写数字的时候不规范,可能多打了空格之类的.那样是没办法转换成数字的.
更多追问追答
追问
谢谢你的回答和帮助。但我按的的方法做了之后,动态文本框中虽然没了NAN,但却什么也不显示,我用调试函数调试了一下,在输出面板中输出的是:undefined。还是不行啊。
追答
在我本地测试是通过的,所以代码本身应该没有问题.
我想可能要注意几个方面:
1.输入文本框要设置为"单行"或者"多行不换行",否则会自动跟一个回车号.(属性设置中弄)
2.注意要加上 实例名称 ,删去 变量 ,这点很重要.
3.trace的时候不能写trace(a)之类的了;
要写trace(_root.a.text);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询