前段時間,我在網上看到一些有趣的應用,包括在windows phone中的小遊戲,它們都是一些具備物理特效的遊戲,若是你沒看到過,下面先來欣賞下吧(點擊圖片進入遊戲):html
其中有些遊戲仍是挺有創意的,那麼它們是如何作的呢?其實它們都用到了Silverlight Physics Helper Library,經過它,再結合blend,即可以快速和簡單地建立相似的遊戲,甚至不須要使用visual studio來寫一行代碼。接下來,咱們就來經過它來建立一個簡單的例子吧~
vim
接着,在矩形上面再繪製一個橢圓,如上圖所示。
而後選擇矩形和橢圓,右擊鼠標,選擇合併-->相減操做。
點擊PhysicsObjectBehavior,拖放到以前相減獲得的Path上面,如上圖。這樣,這個Path對象就具備了物理特性了。此時咱們運行咱們的項目,並無發現有什麼不一樣,那還只是個普通的Path。由於咱們還須要接下來的步驟:
更改佈局類型,必定要爲Canvas。
再拖放PhysicsControllBehavior到LayoutRoot上面。接着你運行項目,就能夠看到效果了,你會發現,那個棕黃色的Path形狀會以必定的速度,往下掉,而後消失,由於它如今具備物理特性了,受到了重力的影響,可是,咱們不行讓它掉下去,在這裏,咱們想讓它當地面或者說是一個凹地。那隻須要點擊Path的ObjectBehavior行爲,而後查看屬性那邊,按下圖操做:
這樣,當你運行你的項目的時候,Path就固定不動了。地面是有了,接下來咱們再來加點東西,官方的視頻弄了輛車子,我也就偷懶了,也畫輛車子。
一個車身,兩個輪子,搞定。。。
分別給車身和兩個輪子添加上圖的行爲。可是這樣作仍是不夠的,你會發現,在輪子的中心還有一個小圓,這個就是轉軸,經過它,咱們使得輪子和車身連在一塊兒,那麼怎麼連呢?咱們須要爲它添加Joint行爲:
接下來,設置它的屬性,創建鏈接關係:
另外一個輪子也是這樣設置,這樣,一個簡單的應用就作好了,若是你想添加鼠標的行爲,就像前面遊戲中那樣的,只須要點擊PhysicsControllerBehavior,對屬性設置以下:
好了,若是你想作出更豐富的遊戲和應用就要靠你發揮你豐富的想象力了,能夠給車子添加障礙物,能夠添加飛行物等等,這裏只是和你們分享下這個簡單的應用,但願對你們有幫助~最後看下最後的效果:
windows