唷呼!另一個動畫 這次我們有顆球在螢幕上移動 而你們知道這是如何辦到的 我們的變數"x"代表這顆球的位置 另一個變數"速度"代表這顆球每次移動的距離 及熟悉的繪圖迴圈 用來重新繪製每一次的背景 設定填充顏色並在x位置畫一個橢圓形 且每一次 我們要將x改回舊的x值 再加上"速度" 這個變數 所以若我使"速度"減小 球移動的速度就慢一點 也可以使"速度"為負數,則球向後移動 或使它為零,則球會停止移動 但只要速度不為零 最終球將會移到螢幕外 我可以按重新開始鍵把它帶回來 但你知道,一段時間後,就膩了 重來,再重來 所以何不試試這個?當球觸及螢幕右邊邊界時 與其像現在這樣超出螢幕的邊界 我想讓它轉個彎 而且,我知道如何讓球轉彎 我只需要說:"速度"為負5 若我使速度為負,則球會向後走 但這有個問題 我只想在當球觸及右邊邊界時, 才去改變速度的值 我想我已經說了 我只想在球觸及右邊邊界時, 才去改變速度的值 我想這裡需要一個if述句 到目前為止,我們只下達 電腦無論如何就去執行的指令 if述句是一種方式去說: 「嘿,夥計,我要你去執行這個程式碼 但僅只在這些特定的條件下。」 「所以,只有當球已觸及右邊邊界時,才改變速度」 而這是它在程式碼中看起來的樣子 你要做的就是打上"IF" 一對小括號,一對大括號 在小括號內,填入條件 在大括號內,填入要執行的程式碼 它運作的方式是: 「若此條件為真, 則執行此程式碼; 否則,就不執行。」 在我們的例子中,條件指的是 球觸及右邊邊界 我們如何得知 球是否已觸及右邊邊界呢? 我們有變數x,告訴我們球的位置 且我知道畫布邊緣的x位置為400 所以來看一下 當x大於400時 則我們知道球已經些微超過右邊邊界 來看一下那是如何運作的 再來看要執行的程式碼,我們之前已經說過, 我們改變速度,使之為負5。 我們來看看按重新開始會發生什麼事 這次,當球觸及右邊邊界時, 它彈回來了!耶! 然後持續走到螢幕外 但沒關係,我們可以對另一邊做相同的事 這一次,我們想確認球是否已觸及左邊邊界 也就是當x小於零時 而我們想做的是使速度再次為正, 於是指定速度為5 好了,然後我們按下重新開始 而這次...........蹦.......... 蹦...........蹦.......... 耶!成功了 我們來檢查看看球是否已經超出邊界 它好像有一點超出邊界 如果你記得,這兩個參數控制 橢圓形中心點的位置 而現在,當中心點觸及邊界的同時 一半的橢圓形已經超出邊界 所以若我們想修正它,只需早一點使橢圓形停止 邊界在400這裡, 而我們希望當橢圓形到這裡時停止 可以從功能呼叫知道橢圓形寬為50 那表示從中心點到邊緣為25 所以我們希望當中心點到達375時停止 也就是400減去25 代替檢查x是否大於400 我們改為檢查x是否大於375 代替檢查x是否大於0 改為檢查x是否小於25 現在超完美的!耶! 看看球彈跳的樣子