Flash中定点移动的解决方案分析
2007-10-30 11:14:53 来源:WEB开发网以上代码就是一个按次数移动的方法。其中的_root.spare = _root.totalLength%_root.speed;可能会不理解,其实这是求取不足一次移动的距离,也是剩余的距离不够作为一次移动步长了,最后只要加上这段距离就能到达目的地了。
如果哪位高手还什么更好的解决方法不妨拿出来共享一下,让大家学习学习。不懂的朋友或者认为我上面的代码有误的朋友(上面的代码都没有在Flash中运行过,只是凭空写出来的)可以联系我跟我讨论,本人先在此谢谢大家了。希望在时间充裕的时候和大家探讨更深入的问题。
varmouseListener:Object=newObject();
vartotalLength:Number=0;
varspeed:Number=3;
varcount:Number=0;
varspare:Number=0;
varposition:Number=0;
mouseListener.onMouseDown=function(){
_root.totalLength=people._x-_root._xmouse;
_root.count=Math.abs(Math.floor(_root.totalLength/_root.speed));
_root.spare=_root.totalLength%_root.speed;
_root.onEnterFrame=function(){
if(_root.count!=0){
//判断方向
if(_root.totalLength>0){
obj._x+=_root.speed;
}else{
obj._x-=_root.speed;
}
_root.count--;
}else{
if(_root.totalLength<0){
obj._x-=_root.spare;
}else{
obj._x+=_root.spare;
}
_root.spare=0;
_root.totalLength=0;
delete_root.onEnterFrame;
}
};
};
Mouse.addListener(mouseListener);
以上代码就是一个按次数移动的方法。其中的_root.spare = _root.totalLength%_root.speed;可能会不理解,其实这是求取不足一次移动的距离,也是剩余的距离不够作为一次移动步长了,最后只要加上这段距离就能到达目的地了。
如果哪位高手还什么更好的解决方法不妨拿出来共享一下,让大家学习学习。不懂的朋友或者认为我上面的代码有误的朋友(上面的代码都没有在Flash中运行过,只是凭空写出来的)可以联系我跟我讨论,本人先在此谢谢大家了。希望在时间充裕的时候和大家探讨更深入的问题。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接