|
6.拖动与抛
拖动与抛实际是与上面的例子的结合应用,这里只是说明如何与上面相结合使用。在本例中我们想要在拖动小球的小球停止运动,松开或抛出时小球继续运动,在制作之前,我们先看一下基础知识:
要点:拖动我们使用方法startDrag(),同时要禁止小球运动,当拖动时要注意小球的运动速度变化,松开时,使用方法stopDrag(),同时重置速度,然后小球继续运动。
代码:
top=0; left=0; right=400; bottom=300; garv=.5; vx = 10; vy = 10; onEnterFrame = function () { //设定如果没有拖动则小球正常进行带有能量损失的弹性运动 if(!dragging){ vy+=garv; my_mc._x += vx; my_mc._y += vy; if(my_mc._x+my_mc._width/2>right){ my_mc._x=right-my_mc._width/2; vx*=-0.8; } if(my_mc._x-my_mc._width/2<left){ my_mc._x=left+my_mc._width/2; vx*=-0.8; } if(my_mc._y-my_mc._height/2<top){ my_mc._y=top+my_mc._height/2; vy*=-0.8; } if(my_mc._y+my_mc._height/2>bottom){ my_mc._y=bottom-my_mc._height/2; vy*=-0.8; } //如果有拖动,则此时速度发生了变化,需要记录下最后my_mc的位置和当前my_mc的位置,两者的差为当前的速度。 }else{ vx=my_mc._x-oldx; vy=my_mc._y-oldy; oldx=my_mc._x; oldy=my_mc._y; } }; my_mc.onPress=function(){ this.startDrag(); dragging=true; } my_mc.onRelease=function(){ this.stopDrag(); dragging=false; }
演示:

文章页数:[1] [2] [3] [4] [5] [6] [7] [8] |