新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何將一個開源游戲移植給一款32位微控制器

        如何將一個開源游戲移植給一款32位微控制器

        作者:Pierre Berquin,意法半導體公司工程師 時間:2009-05-26 來源:電子產品世界 收藏

          在此游戲中,圖像與源碼同等重要,因為它采用了大量貼圖和子畫面。這些都采用光線投射(Ray Casting)方法定位在屏幕上,從而給游戲以一種3D效果。光線投射包含了從一個POV(視點)的投射半徑。并采用了一系列技巧以實現加速。例如,為了在像素點屏幕上投射一個半徑,要做一個空間搜索,以找到該半徑與最近墻上的交匯點。在Wolfenstein 3D中,墻面和貼圖的尺寸都是64 x 64像素(見圖3)。

        本文引用地址:http://www.104case.com/article/94728.htm

          雖然該游戲在當時取得了無比的成功,但它也有一些局限。其中之一是墻的高度全都一樣,它們全是90°,沒有斜角。這些限制減輕了移植的難度,因為它們代表著源碼不太復雜。另一個限制是地面和天花板沒有貼圖。

          我會嘗試在一只較新的32位上給這款游戲以新的生命。一個必需的部件是建立一個控制游戲的應用電路板。從用戶角度只有兩個東西是可見的,一個240 x 320 TFT彩色屏幕,以及一組讓玩家在Wolfenstein 3D迷宮中穿越的按鍵。另外,用于屏幕和按鍵管理。由于這種類型屏幕采用一種并行接口(16位寬),需要選擇一種能夠驅動這種屏幕的。

          如何更順利地移植源碼?

          Wolfenstein 3D的源碼相當復雜。源碼越復雜,控制它就越難。因此,將這個應用移植到一個新的目標上非常困難。在開始以前,重要的是了解用于編寫原應用的語言是否為可移植的,而且該語言的的編譯器是否能用于新的目標。Wolfenstein 3D采用C語言編寫。C語言有利于移植,因為它在微控制器領域廣泛可用,市場上現有很多編譯器與調試器。

          C語言允許一個源碼對多個目標,前提是它采用一種邏輯和清楚的方式編寫。項目源文件的組織是一個考慮因素。圖4提出了一種方法。

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鸡泽县| 昌江| 卢氏县| 城步| 蓝田县| 乌拉特中旗| 赤水市| 克东县| 九江县| 原平市| 漾濞| 上蔡县| 万载县| 濉溪县| 甘泉县| 连城县| 金塔县| 蚌埠市| 大荔县| 缙云县| 富蕴县| 杭州市| 云龙县| 长白| 宁城县| 禹城市| 织金县| 太原市| 太湖县| 淅川县| 天全县| 同心县| 西和县| 永宁县| 杂多县| 垫江县| 柘荣县| 新源县| 丰顺县| 内乡县| 三江|