【圖解】經過Expression Blend快速製做具備物理效果的動畫遊戲

      前段時間,我在網上看到一些有趣的應用,包括在windows phone中的小遊戲,它們都是一些具備物理特效的遊戲,若是你沒看到過,下面先來欣賞下吧(點擊圖片進入遊戲):html

          

     

其中有些遊戲仍是挺有創意的,那麼它們是如何作的呢?其實它們都用到了Silverlight Physics Helper Library,經過它,再結合blend,即可以快速和簡單地建立相似的遊戲,甚至不須要使用visual studio來寫一行代碼。接下來,咱們就來經過它來建立一個簡單的例子吧~

vim

須要準備的工具:

安裝完畢上面全部的工具後,就能夠打開你的Blend,接下來下面的步驟:

圖解詳細過程:



新建一個Silverlight項目。



若是你成功的安裝了Physics Helper Library,就能在資產(Assets)的位置(Locations)中找到上圖所示的內容。這些東西就是一些Behavior,當你賦予你的控件這些Behavior的時候,你的那些控件就具備各類物理特性,固然,今天咱們並不須要使用裏面所有的,這裏主要用到 PhysicsControllerBehavio r PhysicsObjectBehavior, PhysicsJointBehavior。其中,PhysicsControllerBehavior是在你的整個物理場景中,負責裏面各個物理對象在水平方向和垂直方向的碰撞的控制。PhysicsObjectBehavior賦予你的對象具備物理特性。PhysicsJointBehavior鏈接兩個物理對象。大概瞭解這些後,繼續往下看:



上圖所示爲,咱們選擇矩形工具,在界面上拖放出一個矩形,並填充顏色。


 接着,在矩形上面再繪製一個橢圓,如上圖所示。



而後選擇矩形和橢圓,右擊鼠標,選擇合併-->相減操做。



點擊PhysicsObjectBehavior,拖放到以前相減獲得的Path上面,如上圖。這樣,這個Path對象就具備了物理特性了。此時咱們運行咱們的項目,並無發現有什麼不一樣,那還只是個普通的Path。由於咱們還須要接下來的步驟:



更改佈局類型,必定要爲Canvas。



再拖放PhysicsControllBehavior到LayoutRoot上面。接着你運行項目,就能夠看到效果了,你會發現,那個棕黃色的Path形狀會以必定的速度,往下掉,而後消失,由於它如今具備物理特性了,受到了重力的影響,可是,咱們不行讓它掉下去,在這裏,咱們想讓它當地面或者說是一個凹地。那隻須要點擊Path的ObjectBehavior行爲,而後查看屬性那邊,按下圖操做:




這樣,當你運行你的項目的時候,Path就固定不動了。地面是有了,接下來咱們再來加點東西,官方的視頻弄了輛車子,我也就偷懶了,也畫輛車子。


一個車身,兩個輪子,搞定。。。






分別給車身和兩個輪子添加上圖的行爲。可是這樣作仍是不夠的,你會發現,在輪子的中心還有一個小圓,這個就是轉軸,經過它,咱們使得輪子和車身連在一塊兒,那麼怎麼連呢?咱們須要爲它添加Joint行爲:



接下來,設置它的屬性,創建鏈接關係:



另外一個輪子也是這樣設置,這樣,一個簡單的應用就作好了,若是你想添加鼠標的行爲,就像前面遊戲中那樣的,只須要點擊PhysicsControllerBehavior,對屬性設置以下:


好了,若是你想作出更豐富的遊戲和應用就要靠你發揮你豐富的想象力了,能夠給車子添加障礙物,能夠添加飛行物等等,這裏只是和你們分享下這個簡單的應用,但願對你們有幫助~最後看下最後的效果:


windows

相關文章
相關標籤/搜索