一个vb与flash交互时的问题!高手救命!

abysswon 2007-11-14 04:21:50
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高手给帮帮忙,救人一命啊!!!!!

...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
关注 接分
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
lz要干嘛?
danielriver 2007-11-17
  • 打赏
  • 举报
回复
貌似症状很复杂...
首先,从这段代码来看它本身就是不能实现一度一度转动的,你输入多少它就直接走多少了.
因为用了onEnterFrame语句触发,所以应该是保持一直在走停不下来的...
目前就看到这些状况,其他问题应该要拿到FLA文件之后调试一下就知道了.
abysswon 2007-11-15
  • 打赏
  • 举报
回复
谢谢楼上顶!
stanlycn 2007-11-14
  • 打赏
  • 举报
回复
呵呵

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧