on(release) 事件用过之后如何再初始化参数

来源:百度知道 编辑:UC知道 时间:2024/06/10 16:00:35
如题,flash中,从文本框输入数据,经过一次计算后,修改其中部分数据,再按按钮,不计算了,该怎么办?谢谢高手赐教,感激不尽!

你的程序能用啊。我第一次全部代入0.1,结果为。。。。。(忘了),第二次全部代入0.2,结果为。。。。(还是忘了),肯定二次结果不一样,我也没关过flash。

晕,我看错了,修改部分数据。。。。。。=我在看看

它计算了,只不过是结果一样,你多trace()几回,在拿笔算算,如果没有计算的话,就不会产生你所说的死循环了。

程序并没有进入死循环,只不过是迭代次数过多,你试想一下,如果要让1000000这个数字每回减去0.001,减多少回才能到0。。。。。。。等着电脑爆炸吧

其实真正的原因在于Infinity。
你的Swf会产生正无穷大。。。。。。这就是原因,测试如下:
on (release) {
var Swf;
var Slj;
var Krw;
var Kro;
var equ;
var VisR;
var Swe;
Swe = Number(ISw);
trace("Swe:"+Swe)
VisR = Number(uw)/Number(uo);
trace("VisR:"+VisR)
Swf = (Number(Swe)-Number(Swi))/(1-Number(Swi));
trace("Swf:"+Swf)
Slj = 1-(Number(Swe)-Number(Swi))/(1-Number(Swi)-Number(Sor));
trace("Slj:"+Slj)
Krw = Math.pow(Swf, 0.5)*Math.pow(Number(Swe), 1.5*Number(n));
trace("Krw:"+Krw)
Kro = Math.pow(Slj, Number(m));
trace("Kro:"+Kro)
equ = 1/(1+Kro*VisR/Krw)-Number(