一个vb与flash交互时的问题!高手救命!
flash是一个如下图一样仪表盘模样的东西
0 20 40 60 80
+ + + + +
\
\
\
\ [0]
\
\
文本框number,变量为strnumber,就是图中的[0],可以根据vb用控件的SetVariable来给strnumber变量赋值。
当strnumber发生变化,flash需要把指针转到对应的刻度。
比如vb给flash传20给strnumber,情形就应该如下
0 20 40 60 80
+ + + + +
\
\
\
\ [20]
\
\
现在的问题是,我翻了很多资料,才写成下面这一段代码。niddle_MC是指针,
angle=0;//这个是记录上一次针指的指向
niddle_MC.onEnterFrame=function() {
n=Number(strnumber)*1.8; //1.8是调整指针对准的,不用管它
if(angle<>n && n<=180){ //仪表盘是从0到180,所以简单判断了一下输入值
r=n-angle; //得到输入值与现有指针的差
trace(r);
if(r>0){
step=1; //输入值大,就正转
}else{
step=-1; //输入值小,就倒转
}
trace(step);
r=Math.abs(r);
for(i=angle;i<r;i++){
trace(niddle_MC._rotation);
niddle_MC._rotation+=step; //用一度为单位向差值转动
}
angle=n; //赋值
}
}
这段代码执行起来很怪,比如输入50的话,有时是不动,有时却是以很大的简隔来跳动,根本不是一度一度的转的。
而且再输入30,它还会向前跑,而不是从50倒回来走到30,这是怎么回事啊?
输入1的时候就一度一度的走,但是不停,一直在划圈,请as2高手给帮帮忙,救人一命啊!!!!!