天天看點

Silverlight C# 遊戲開發:Flyer02 從第一行代碼寫起

前面的Flyer01說過,用Silverlight開發遊戲可以通過代碼方式和Blend開發工具完成,Blend的視圖開發環境和Flash的很像,但是更加強調是程式結合,從不怎麼明顯的動畫軸就知道,而Silverlight也不是和Flash一樣離開了開發工具就完全不能開發,我打算通過這個簡陋的例子讓朋友知道,如何隻用代碼的方式開發一個Silverlight遊戲。

二,建立一個Silverlight工程,然後開始編寫代碼:)

第一開始,我們需要一個視窗來呈現整個遊戲的内容,那麼我需要在XAML中添加如下代碼:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163507693.jpg"></a>

現在,在工程裡添加一個類,如果你喜歡直接添加代碼檔案也不錯,我這個人比較懶,自動的爽些

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163516652.jpg"></a>

寫如下代碼,其意義是一個繼承自Canvas的雲彩控件,在這個控件中增加一個Image,Image不能繼承不能作為基類,是以我們使用一個Canvas作為容器。

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163525565.jpg"></a>

可是,我們的資源在這裡呢?需要準備一套圖檔,然後添加到工程當中,在這裡加了一個Src的目錄,如下圖所示:(檔案在下面的附件中可以下載下傳)

現在在MainPage類中添加如下代碼:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163558207.jpg"></a>

運作一下就可以看到效果:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163608422.jpg"></a>

我們看到一個雲彩在頁面當中,這是使用純代碼形式顯示的第一張圖檔,在這個結構中,ClassCloud類是繼承自Canvas的控件,裡面有一個Image的控件,雖然說起來很麻煩,但是并不複雜,相信應該能夠很容易了解,但是一個片雲彩沒有什麼意思,我們最終的目的是想讓其飄動起來,但是怎麼做到呢?最主要的,首先是可以控制它的坐标:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163619935.gif"></a>

上面的XY可以直接控制自身的坐标,這裡就不用做實驗了……雲彩肯定是一堆雲彩,會有很多個,這樣的話,就需要另外一個容器裝載這些雲彩,為了讓結構清晰,咱們設定一個ClassCloudGroup用來管理這些雲彩,同時,這個也是一個控件容器:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163630229.gif"></a>

上面的代碼意思是建立一個容器,指定數量的建立雲彩,隻需要在MainPage的構造函數中增加出來,然後添加視窗中,運作效果如下:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163639790.jpg"></a>

現在出現了很多雲彩,随機分布在藍色背景上, OK,那麼下一步就是讓他們動起來,由于設定的遊戲是向下飛行,那麼雲彩應該向上飄動,是以我們在雲彩組裡加入如下的代碼:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163650282.jpg"></a>

運作效果如下:

<a target="_blank" href="http://blog.51cto.com/attachment/201111/163700687.jpg"></a>

代碼上做了一些有趣的修正,可能和上述的代碼不一緻,但是有詳細的注釋,相信應該對大家有個幫助。

這是遊戲最有魅力的地方,你能通過操作創造一個世界,這是一個單純的簡單背景,那麼下次,咱們一起和飛行員飄落:)

本文轉自nowpaper 51CTO部落格,原文連結:http://blog.51cto.com/nowpaper/712596

繼續閱讀