Flash Flex學習筆記 39 彈性運動

2022-01-31 15:26:44 字數 2338 閱讀 1399

動畫中的彈性運動 從視覺效果上接近 物理經典力學中的單擺運動或彈簧(胡克定律f=kx)振動

先看下面的模擬演示:

規律:小球先從出發點(初始為最左側)向目標點(中心點)加速狂奔,奔的過程中速度越來越大,但加速度越來越小,等經過目標點時,發現速度太大剎不住車(此時速度達到最大值,但加速度減為0),奔過頭了!於是加速度發生逆轉,從0開始變為負值,從而導致速度越來越小,等速度減到0時,也奔到了最右側(此時負加速度也達到最大值),然後在負加速度的影響下,開始掉頭又狂奔....這樣不斷下去,直接摩擦力讓它筋疲力盡,最終癱倒在目標點 :)

公式:胡克定律f=kx,而合外力f根據牛二定律 f=ma,這二者結合起來換算一下,也就是 ma = kx,即a = (k/m)x .用**體現出來,即加速度與位移成(正比)線性關係。 

package 

private function init():void );

ball.addeventlistener(mouseevent.mouse_out,mouseouthandler);

stage.addeventlistener(mouseevent.mouse_up,mouseuphandler);

//畫輔助線

graphics.linestyle(1);

graphics.moveto(ball.x,ball.y);

graphics.lineto(stage.stagewidth-ball.x,ball.y);

graphics.moveto(stage.stagewidth/2,ball.y-10);

graphics.lineto(stage.stagewidth/2,ball.y+10);

rect=new rectangle(ball.x,ball.y,stage.stagewidth-2*ball.x,0);

} private function mouseouthandler()

} //開始拖動

private function mousedownhandler(e:mouseevent):void

//結束拖動

private function mouseuphandler(e:mouseevent):void

private function onenterframe(event:event):void

}}

上面演示是一維的彈性運動,當然也可以同時在x軸和y軸上進行

**:

package 

private function init():void

function mousedownhandler(e:mouseevent):void

private function enterframehandler(event:event):void

}}

接下來:用**模仿一根猴皮筋兒

package 

private function init():void

private function onenterframe(event:event):void

}}

上面的例子只有乙個球,如果考慮更多的小球,第一球以滑鼠所在位置為目標做彈性運動,而第二個以第乙個球為目標做彈性運動,第三球又跟著第二個... 這會是什麼效果呢?

package 

private function init():void

private function init():void

addeventlistener(event.enter_frame, enterframehandler);

addeventlistener(mouseevent.mouse_up, mouseuphandler);

}function mouseouthandler(e:mouseevent):void

function mouseoverhandler(e:mouseevent):void

private function enterframehandler(event:event):void

ball.vx*=friction;

ball.vy*=friction;

ball.x+=ball.vx;

ball.y+=ball.vy;

graphics.clear();

graphics.linestyle(1);

for (i = 0; i < numhandles; i++)

} private function mousedownhandler(e:mouseevent):void

private function mouseuphandler(event:mouseevent):void

}}

Flash Flex學習筆記 22 濾鏡學習

silverlight中稱之為 效果 effect 的東東,在flash裡叫 濾鏡 filter 而且flash裡內建的濾鏡要比silverlight豐富很多,幾乎所有物件都有乙個filters的屬性,它是乙個陣列,可以將乙個或多個濾鏡同時應用於某一物件,類似的,如果要去除已經應用的濾鏡效果,只要將...

Flash Flex學習筆記 14 按鍵捕獲

先來看簡單的單個按鍵捕獲 package privatefunctioninit void publicfunctionkeydownhandler e keyboardevent void if e.ctrlkey if e.shiftkey if e.altkey 再來看下類似 a b c 的這...

Flash Flex學習筆記 34 彈性運動

動畫中的彈性運動 從視覺效果上接近 物理經典力學中的單擺運動或彈簧 胡克定律f kx 振動 先看下面的模擬演示 規律 小球先從出發點 初始為最左側 向目標點 中心點 加速狂奔,奔的過程中速度越來越大,但加速度越來越小,等經過目標點時,發現速度太大剎不住車 此時速度達到最大值,但加速度減為0 奔過頭了...