flash8.0输入文本

来源:百度知道 编辑:UC知道 时间:2024/06/10 03:09:44
我要做一个二元一次方程求解的FLASH,用了3个输入文本框分别表示a*x*x+b*x+c=0中的a,b,c系数,然后用了两个动态文本框分别显示x1和x2的值,再用了一个按钮求解.输入文本框的变量名分别是a,b,c,动态文本框的变量名分别是x1,x2,按钮上的动作代码如下:
on(release){
drt=b*b-4*a*c;
if(drt>0)
{
x1=-b/(2*a)+math.sqrt(drt/(4*a*a));
x2=-b/(2*a)-math.sqrt(drt/(4*a*a));
}
else if(drt==0)
{
x1=x2=-b/(2*a);
}
else
{
x1=x2="无解";
}
}
可是结果无论a,b,c的输入多少,x1,x2的值总是显示的是无解.求教那位大虾帮帮忙,小弟初学FLASH,是个菜鸟.
谢谢你了,我还没有测试,测试过了的话就给你分

你的代码如果加上Number()就没有问题的,乘方最好用Math.pow()函数
on (release) {
drt = Math.pow(Number(b), 2)-4*Number(a)*Number(c);
if (drt>0) {
x1 = -(Number(b))/(2*Number(a))+math.sqrt(drt)/(2*Number(a));
x2 = -(Number(b))/(2*Number(a))-math.sqrt(drt)/(2*Number(a));
} else if (drt == 0) {
x1 = x2=-(Number(b))/(2*Number(a));
} else {
x1 = x2="无解";
}
}

问题在与你的所有的文本框,点中文本框,看属性面板,把“变量”后面的那个“自动调整字距”的勾点掉,就可以了,本人在Flash 8中测试通过

你可以在drt=b*b-4*a*c;后面加上
trace(drt)
看看这个drt究竟是多少