Flash中定点移动的解决方案分析
2007-10-30 11:14:53 来源:WEB开发网二、剩余路径法
与累积路径法相反,他是通过求出剩余的路径的长度,如果剩余路径长度为零就代表已经到达目的点。
让我们先看看源码吧:
varmouseListener:Object=newObject();
vartotalLength:Number=0;
varspeed:Number=5;//匀速运动,此是定值。
mouseListener.onMouseDown=function(){
_root.totalLength=obj._x-_root._xmouse;
_root.onEnterFrame=function(){
if(_root.totalLength>=_root.speed){
if(_root.totalLength<0){
obj._x+=_root.speed;
_root.totalLength+=_root.speed;
}else{
obj._x-=_root.speed;
_root.totalLength-=_root.speed;
}
}else{
If(_root.totalLength<0){
obj._x+=_root.totalLength;
}else{
obj._x-=_root.totalLength;
}
_root.totalLength=0;
delete_root.onEnterFrame;
}
}
}
Mouse.addListener(mouseListener);
整段代码中我们可以清楚地看到obj对象每走一个步长,总路径长度都在减少,但由于方向的不同这里做了不同的处理。直到总路径长度为0后我们就结束onEnterFrame事件。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接