# Scratch - sprite 反彈(bounce)的寫法 ###### tags: `bounce` `scratch` ### 首先要理解Direction的機制。 順或逆時針均能表示角度。 ![](https://i.imgur.com/K27PTAJ.png) 順時針由0°開始0°->90°->180°->270°就是表示北、東、南及西; ![](https://i.imgur.com/3H7HOF4.png) 逆時針由0°開始0°->-90°->-180°->-270°就是表示北、西、南及東; 即是順時針或是逆時針也可表達相同的方向,只是角度不同已而。 | 角度 | 方向 | | -------- | -------- | | -360, 0, 360 | 北 | |-270, 90|東| |-180, 180|南| |-90, 270|西| 所以若要球反彈,就只是轉換正負值就可以。 若球從135°撞牆,便要反彈到-135° ![](https://i.imgur.com/wRu0z7x.png) ![](https://i.imgur.com/JX3YrIg.png) ![](https://i.imgur.com/E3wtRY9.png) 從而推斷出公式是 ### 將原來的度數 x -1 Scratch的程式就是這樣寫﹕ ![](https://i.imgur.com/LKMKJCa.png) 可參看實際[例子](https://scratch.mit.edu/projects/633781293/)。 ![](https://i.imgur.com/T9KFmDJ.png) [參考](https://en.scratch-wiki.info/wiki/Direction_(value))