在上一堂課裡 我們示範了如何使用繪圖函數和if述句 讓一顆球從牆上反彈 讓我們來複習 首先,我們為球的位置和速度設立初始變異數 然後,在繪圖函數裡,特別是那個 在你的程式運行時不斷被叫出的程式 我們將背景重新上色,然後在畫布上畫上一個圓形 然後我們根據變異數的位置、時間 與其互相影響的情形,來放置缺口 現在,沒有 if 述句 我們的球只會一直前進 直到我們按下重新開始 所以我們在下面這裡加入兩個 if 述句來確認並觀察 球是在螢幕右側 還是螢幕左側 據此,我們將速度變換至正或是負 因此球基本上會反彈回來 所以現在我們只需要讓這個球永遠來回反彈 所以這個蠻酷的 而且用這個方法 我們可以做出非常多很酷的動畫 現在,我想要加入使用者互動到這個課程 現在,這個課程就是一場TV秀 如果你將它給一個朋友 而且你的朋友不知道如何寫程式 他們無法真的與它互動 他們能做的事只有看,雖然也是蠻酷的 不過如果他們能做什麼事情,這整件事會變得更酷 所以,讓我們來給使用者一些方法來控制它 記住稍早以前,我們學了 兩個特別的全球性變異數叫做 “鼠標X” 和 "鼠標Y" 這些變異數會產生數字 告訴我們使用者滑鼠目前的所在位置 這是一個將課程互動化很好的一個方法 讓我們來看看可以如何使用它們 我們應當將之使用在繪圖函數的某處 因為他們是唯一的程式碼 他們在程式進行時不斷的被叫出 其餘在繪圖函數外的都只有被叫到一次 當一個程式開始時 所以,此時使用鼠標X 和鼠標Y是不合理的 使用者沒有機會去跟他們互動 現在,我們將圖裡的球往下移200個像素 我們何不用鼠標Y取代它? 因為那是Y位置,對吧? 用這個方法可以獨立地將y位置 讓我們來試試看 只靠著將我的游標上下移動 我可以改變球前進的路線 蠻酷的 但是,我也想要使用鼠標X,所以我該如何使用呢? 我們何不直接製作另一顆球 然後使那顆球行進上下相反的方向 然後我們讓使用者控制它的“x”方位 所以我們就是做了相反的事情,我們可以說橢圓滑鼠X 位於 50,50 可以嗎?試試看吧! 我已經控制這兩顆球以垂直的方向移動 但是,我仍然不滿意,我想要給使用者更多控制能力 我想要給使用者啟動第二顆球的能力 僅僅按一下滑鼠,就使第二顆球存在 然而,我需要找出方法 如何分辨使用者正在按滑鼠 令人感激的是,我們有一個特別的布林變異數可以使用 名叫 《點擊滑鼠》。我們可以在 if 述句裡使用它 讓我們來看看。這是我們的第二顆球 所以我們可以說 "如果點擊滑鼠" 然後我們會將圓形移到這裡 所以這裡在做的事情是 告訴這個程式我們只有在這是對的時畫這個圓 那《點擊滑鼠》就只會在 使用者按下滑鼠時有效 我們來試試看,tada! 所以我們現在可以只讓球在我按下時出現 它在這個平行的宇宙縮放 進入!進入!進入!這太美好了 所以,這個變異數有趣的事情是 《點擊滑鼠》會根據使用者做的事情改變 而不是根據我們的程式做了什麼 而因為繪圖函數被重複呼叫一次又一次, 程式的輸出也會隨著時間而改變 附帶著使用者的一些輸入 混合著 if 述句跟《點擊滑鼠》的威力, 你可以得到任何你想要的東西 像是製作很棒的東西例如按鈕或者是繪圖程式 好耶!