[Scratch2] 自由落體反彈球

URL Link //n.sfs.tw/10136

2016-11-02 10:06:10 By Axer

<今天的講題是SCRACH2。以下的技法是兄弟所獨創,古今中外各國從來沒有講過的>

練習項目

動作、運算、數學

說明

自由落體這篇中,在引力場東西會因為萬有引力自然掉落,速度會越來越快,遵守牛頓第二定律, 當撞擊到地板時,會反彈。

反彈時可設定能量損耗(功率因素),功率因素為1代表能量不損耗,功率因素為0.8代表每次彈跳的能量只剩原來的80%。

這個範例也是使用自訂積木來完成,判斷的部分有點複雜,但表現上算是很完美。

效果演示(需要flash player) 實際在scratch下表現比較正常,不會有卡住的情況,請下載原始碼。

bounce.swf

 

角色和舞台

角色1程式碼

程式碼說明

原理在自由落體中寫過,增加的判斷是觸碰到邊界的顏色,但問題是物體可能還沒彈出碰撞區就再進入碰撞狀態,所以作了一個判斷,也就是碰撞後時間差一定要大於前次進入碰撞的時間差,在碰撞時物理體有彈性會變形,切換成造型2。

每次撞擊時能量因為撞擊而減少,如果把功率因數設為1,此球會一直彈不停,可以拿來作理想氣體的運動狀態。

當最後速度小於1時,就停此程式的判斷,以免造成無限迴圈。

舞台程式碼

檔案下載

bounce.sb2