1.在表單內加入一個 PictureBox物件,並給予球形圖案,如: |
|
2.加入一個計時器元件(timer),屬性enabled設為True(起動),interval則看你喜歡多快? 3.在timer的事件中加入程式碼: label1.Left += 5; 球就會動了! 但是:一去不返.... 4.要讓球反彈的基本概念是:碰到牆壁後球的行進方向必須相反! 所以可以先宣告一個方向的變數Xd,預設值是『1』,加在上面的程式碼5的前面變成 label1.Left += Xd * 5; 5.接著我們必須有檢查碰牆壁的條件式: label1.Left >= this.ClientSize.Width - label1.Width 這是碰到右邊的牆壁,this.ClientSize.Width是表單內可以活動範圍的寬,label1.Width是標籤(球)的寬度 程式如下當物件碰到右邊牆壁就會反彈了!因為方向變成-1,接著每次執行計時器時位置會-5而非+5。 ![]() 6.接著碰到左牆的條件式是:label1.Left <0 可以模仿上例,再加一個條件式改變方向為+即可, ![]() 7.如上程式已經可以在左右牆面反彈,要同時可以上下反彈我們需要知道的是 a.定義物件上下座標的屬性為Top,左右為Left b.表單可活動區間的高是this.ClientSize.Height c.標籤物件的高也是Height 模仿左右反彈程式的寫作,一個四面反彈的球應該就沒問題了! |
|
速度調整 1.令表單的KeyPreview屬性為True 2.使用鍵盤之左右鍵調整 X 方向速度(上下鍵調整 Y 速度)。 ![]() |
|
切換圖檔 1.使用資源檔案納入兩個球的圖檔
與
![]() 2.使用屬性設定 PictureBox1 之 Image 屬性 3.使用 RadioButton 選擇球的圖檔 (到 Form1.Designer.cs 取得影像設定之程式碼) ![]() |