1. 程式人生 > >C#基礎視頻教程7.5 如何編寫簡單遊戲

C#基礎視頻教程7.5 如何編寫簡單遊戲

隨機 現在 多邊形 font 積分 判斷 縮放 中間 使用

有一些BUG需要處理,比如小鳥太高或者太低都應該報錯(不然直接掉到窗口下面去了),這個方法跟前面的HitTest應該獨立開來,而不是摻和在一起

技術分享

?

測試確實可以檢測是否超過邊界(如果要非常精確,那麽就不僅僅是判斷跟窗體寬度和高度的比對了,要去掉小鳥本身的寬度和高度)

技術分享

?

此外小鳥和管子都應該用一些背景圖片代替,而不是只有填充的顏色,這裏只是簡單的用了普通的圖片(尤其是管子會被隨時縮放,還是效果不夠理想,如果要把遊戲做的很精致,需要仔細研究如何在自定義多邊形中放圖片)

技術分享

?

借著這個機會,我把繪制,填充背景色,填充紋理都分開了(註意填充矩形兩個函數名稱是一樣的,而函數的輸入不一樣,這個叫做重載,你有時候輸入一個微軟提供的函數,它提示你+3重載,就表示有其他三種同名函數,但是函數輸入不一樣,使用重載的好處是整個類更加簡潔,你在別的地方敲類名.之後彈出來的一堆屬性和方法,不會顯得太多太啰嗦,因為你已經知道給什麽參數,他就會去執行什麽方法了)

技術分享

?

為了提高遊戲難度,我們需要從上方和下方都生成管子

技術分享

?

這需要改寫之前的Pipe的Init方法,本來只是從某個中間位置往下很長,現在還有可能畫筆在頂部,往下一個隨機的高度值(註意盡可能的利用已有的代碼,已經減少重復代碼)

技術分享

?

總結:到此為止這個小遊戲也算是開發完了(可以完善的功能很多,比如小鳥如何拍打翅膀,如何暫停/繼續運行,如何死了之後有類似於原地復活的藥水可以選,像神廟逃亡,天天酷跑這些遊戲如何做金幣的獎勵等等),讀者需要仔細體會一個完整程序從想法要最終實現的過程。

1 先思考在整個項目中哪一個是最困難的,最不確定的,想一些小實驗去驗證他

2 把每個對象都框出來,比如有裁判,有小鳥,有管子,每個對象都需要哪些屬性和方法

3 逐步完善每個對象的方法(大部分時候我們一開始是無法想的很明白全部的屬性和方法的,這需要先寫一部分,後面驗證完了再改)

4 最後去考慮不是很重要的功能(比如積分,替換圖片,遊戲獎勵等等),而不是一開始就花大量時間思考怎麽樣把按鈕做的很漂亮,元素運動的很平滑

5 完成之後提取整個項目有意義的方法,單獨封裝成一些類庫,方便自己以後使用,要有好的習慣隨時整理在各個方面的類庫(也包括網上好的帖子要保存下來備用)

?

?

更多教學視頻和資料下載,歡迎關註以下信息:

我的優酷空間:

http://i.youku.com/acetaohai123

技術分享

?

我的在線論壇:

http://csrobot.gz01.bdysite.com/

技術分享

?

問題交流:

QQ:910358960

郵箱:[email protected]

?

?

?

?

?

?

?

C#基礎視頻教程7.5 如何編寫簡單遊戲