Silverlight C# 遊戲開發:關於精靈for Silverlight容器

來源:互聯網
上載者:User

     說明:素材來源於網路,著作權歸著作權人所有

     遊戲中的精靈非常常用,spirit這個小玩意具體誰發明的不得而知,從遊戲開發的角度上,精靈可以協助開發人員便捷的完成開發工作,Silverlight基於MVC體系,控制項就成了遊戲開發人員們理想的精靈,然而,具體用什麼來構成精靈的基礎,讓我們來研究一下。

     在那之前,我們先準備一下素材,一組足夠長的動畫資源:

 

     Silverlight提供了如下容器:Grid、Canvas、StackPanel、Border、ScrollViewer,其中只有Grid和Canvas符合遊戲精靈的容器,至於為什麼,請參看後面三個的MSDN說明以及用法。

     Grid和Canvas能夠為作為精靈容器,但是它們之間有著很明顯的區別,從字面意義上講Grid是格子,Canvas是畫布,Grid提供的控制內部元素的方法是通過邊距進行,而Canvas是通過笛卡爾座標系座標,其實就是初中書本上的直角座標系,關於Grid和Canvas之間的不同,來看下面的圖片:

     Grid定製內部元素的對齊樣式和邊距來鎖定位置,即便是Grid發生變化,內部元素也會按照邊距進行寬高調整,除非解鎖邊距(設定對齊),Gird有個好處在於如果圖片寬高固定,可以固定內部的對齊座標,比如底部對齊這就比較方便我們管理,用圖形的方式表示為:

     如果用Grid作為容器實際運用到Silverlight當中圖片顯示如下:

      Canvas的景象則是另外一番,畢竟使用的純粹的座標畫布,無非是位置問題,即便Canvas的大小為0,內部的元素仍然能夠顯示,所以這也是大多Silverlight開發人員喜歡用Canvas的原因,畢竟清楚明了,只需要做位移即可,下面是一張圖片,可做參考:

     無論是Grid還是Canvas,作為精靈的容器應該是依據不同的需要進行選擇,StackPanel在特定情況下作為精靈容器也不失為一個好的選擇,製作精靈是的最終目的是為開發遊戲方便,能夠解決我們問題才是最終的需求,比如下述的情況,該如何用選擇呢?

      如果真是一個可以換裝的網路遊戲,那麼上面的情況就不得不詳加考慮,因為動作造成身體的各個部分不是按照特定座標進行轉換,或者對齊,最終需要一個完美的解決方案來搞定它們,如果只是做一個簡單的遊戲,則就無需大費周章,最好的解決方案是多種類型的容器,可以依據不同的需求調動……總的來說,遊戲開發考驗自身的時候到了:)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.