開始學vb時,並不知道vb可以做出動畫,後來知道通過自編的子函數delay(c的庫函數中的該函數)和 cls可以做出許多動畫,但有一個缺點就是太耗內存,就我個人認為構思應該比編程重要,因為一旦有了一 個很好的構思剩下的問題都是技術問題,而我就是喜歡發現新的問題然後再想方設法解決它,通過發現 問題和解決問題我可以學到許多很有用的知識和技巧。好了,現在有了一個好的構思就開始進入程序的 編制。
第一步,要做成這個游戲的話必須能使小球有一個判斷性的運動,然而如何處理小球的運動呢,很顯 然delay&cls的方法不再適用,因為整個程序運行時不停的清屏效果將很差,所以我想到了用shape 控件來替代用circle命令畫的小球,接著要使小球運動起來,這個問題很簡單,因為shape控件有left和 top的屬性,可以通過對這兩個屬性的控制可以很輕松的解決小球運動問題。
第二步,將對小球進行角度控制,角度可以通過shape的屬性left和top來反映,通過timer控件使小 球的left和top值不斷加上一個值或減去一個值,小球的left和top同時改變之後就可以對小球的角度進 行控制。到這裡已經可以使小球運動起來,接下來的問題就是使小球能進行判斷性運動。
第三步,可以這樣對小球進行判斷性控制,當小球的left大於窗體的scaleleft時小球的left改變成 減去一個值,以此類推,小球的高度也可以進行類似的控制,現在已經很方便的對小球進行判斷性運動,到 這一步程序已經算是完成了一半。
第四步,既然小球可以自由的運動了,那就可以產生這樣一個想法,當小球的top和left的磚塊的top 和left值接近到一定的范圍的條件成立時使磚塊的visible為false,然後小球的top和left加上接觸前相 應相反的值,就可以使磚塊消失同時小球改變運動軌跡,這一步的實現需要解決很多技術性問題,可以 在form的load事件裡定義兩個變量Dwd和Dhd以及兩個Boolean量為Dw和Dh,通過Dwd和Dhd來控制小球向左 和向上運動,當小球和窗體的邊界或和磚塊的的邊界接觸時使Dw和Dh的值進行相應的變化,通過對該兩 個值的控制可以使小球進行合乎反彈角度的運動,現在程序已經初步成型。
第五步,要做成這樣的一個游戲,必須有一個良好的用戶界面,為了使小球能接受用戶的控制,我在 窗體的下邊界放置了一個命令按鈕,該命令按鈕可以通過方向鍵來控制,然後再加上一些判斷語句使得 小球command接觸時產生相應的運動,這樣一個用戶界面就解決了。
第六步,現在只剩下程序的最後一步,就是生成磚塊的排列,磚塊可以用命令按鈕來替代,然後用循 環語句將設置好的command控件數組在程序運行時加載進來,好了,現在已經一切完成.