---
# System prepended metadata

title: Scratch - sprite 反彈(bounce)的寫法
tags: [bounce, scratch]

---

# 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))






