bada 2d遊戲程式設計——開篇說明
bada是三星電子於2023年推出的智慧型手機平台,到現在已經快三年了,一直處於不溫不火的狀態。尤其是在android和ios如日中天的時代,就更顯的默默無聞了。大家都像被集體收買了似的將window phone列入了前三,雖然現在還名不副實,也許是大家對它有乙個好爹而看好它吧。而反觀bada就沒有這麼幸運了,一直過著實不副名的生活,我記得在2023年年初的時候網路上發布了乙份移動作業系統市場占有率的報告,其中bada就是赫然在列,而且當時是高於windows phone的。但是曾經網上謠言四起,說是三星電子要放棄bada,全心全意擁抱android。對於這種空穴來風的謠言,我只能說是信不信由你,反正我是不信了。我想造成這種現象的原因有很多,就拿出其中的幾條來說一下,
1,因為大家認為三星電子是一家硬體廠商,而對於硬體公司推作業系統,大家都頗有微詞。
2,因為大家認為三星電子是最大的android智慧型手機廠商,所以對bada存在三心二意。
3,因為大家認為現在的智慧型手機作業系統大局已定,已經容不下第四者了。
我想說的是,這些都是大家的認為,不是即成事實。再加上在這個時代,沒有什麼是不可能的。所以,即使在大家這麼不看好bada的情況下,我還是打算寫bada相關的部落格。
市場上bada相關的書籍不能用少來形容,準確的說是只有一本,就是<>這本書,還是英文版的。所以對於國內想學bada的開發者來說,就不是很方便了。而android和ios相關的書籍就種類繁多了,遊戲開發方面的書更是層出不窮,學習起來非常方便,我就買了一大堆這樣書,只可惜了我那些花出去的錢,有些花的是挺冤的,感嘆一下。
所以想通過部落格的方式來幫助廣大的開發者學習bada,就選了bada 2d遊戲程式設計這乙個方向。儘管現在市場上已經有適合bada 2d遊戲開發的遊戲引擎了(例如cocos2d-x),但這些遊戲引擎使用的是opengl es進行影象渲染,不便於學習bada平台相關的知識。所以我在這系列部落格中用的是bada本地的圖形、圖形繪製和處理功能。希望通過這些系統提供的基本功能來完成乙個基本的遊戲框架,能夠讓大家在學習bada程式設計知識的同時也了解2d遊戲開發的一些基本概念和方法,同時這對我本人來說乙個系統學習遊戲程式設計的機會,大家共同學習,共同進步了。
下面是這系列部落格的乙個初步的計畫:
(這個計畫在後面指定會有大的改動,隨時保持更新)
第一部分:基本知識和框架搭建
bada 2d遊戲程式設計之一——圖形繪製
bada 2d遊戲程式設計之二——影象繪製
bada 2d遊戲程式設計之三——遊戲的基本結構
bada 2d遊戲程式設計之四——設計遊戲迴圈
bada 2d遊戲程式設計之五——乙個基於定時器的遊戲迴圈
bada 2d遊戲程式設計之六——乙個基於執行緒的遊戲迴圈
bada 2d 遊戲程式設計之——遊戲框架的實現
第二部分:精靈動畫框架
bada 2d遊戲程式設計之八——逐幀動畫
bada 2d 遊戲程式設計之——精靈動畫
bada 2d 遊戲程式設計之——精靈類的實現
bada 2d 遊戲程式設計之——關鍵幀動畫程式設計
bada 2d 遊戲程式設計之——精靈動作
bada 2d 遊戲程式設計之——精靈動作系統的實現
第三部分:地圖程式設計和遊戲世界組成
bada 2d 遊戲程式設計之——背景
bada 2d 遊戲程式設計之——地圖程式設計
bada 2d 遊戲程式設計之——地圖編輯和地**析
bada 2d 遊戲程式設計之——地圖類的實現
bada 2d遊戲程式設計之——狀態模式的應用
bada 2d遊戲程式設計之——布景類的實現
bada 2d遊戲程式設計之——場景類的實現
第三部分:物理引擎
bada 2d 遊戲程式設計之——勻速和加速運動
bada 2d 遊戲程式設計之——重力系統模擬
bada 2d 遊戲程式設計之——摩擦力模擬
bada 2d 遊戲程式設計之——碰撞檢測
bada 2d 遊戲程式設計之——物理引擎box2d
第四部分:事件處理框架
bada 2d 遊戲程式設計之——觸控事件處理
bada 2d 遊戲程式設計之——感測器事件處理
bada 2d 遊戲程式設計之——事件處理框架
第五部分:聲音引擎
bada 2d遊戲程式設計之——聲音引擎
第六部分:模式的應用
bada 2d遊戲程式設計之——單例模式的應用
bada 2d遊戲程式設計之——資源管理器
第七部分:實踐部分
bada 2d遊戲程式設計之——完成乙個簡單的2d遊戲引擎
bada 2d遊戲程式設計之——打磚塊遊戲的實現
2D遊戲vs3D遊戲
前幾天,小李子一直在糾纏3d,偽3d遊戲等。雖說小李子效力於大公司,但是該公司畢竟不是專業的遊戲公司。美工xx等一概不全,要使用個3d引擎做個ipad,android的遊戲。這年頭是怎麼了。遊戲最主要的是什麼?是畫面?還是互動的畫面?還是互動的立體畫面?接觸過這麼多遊戲,還沒有見過只以最精緻的畫面獲...
2D遊戲vs3D遊戲
前幾天,小李子一直在糾纏3d,偽3d遊戲等。雖說小李子效力於大公司,但是該公司畢竟不是專業的遊戲公司。美工xx等一概不全,要使用個3d引擎做個ipad,android的遊戲。這年頭是怎麼了。遊戲最主要的是什麼?是畫面?還是互動的畫面?還是互動的立體畫面?接觸過這麼多遊戲,還沒有見過只以最精緻的畫面獲...
2D遊戲開發(2)
每次給遊戲新增新功能時,通常也會引入一些新設定。為了讓所有的設定進行統一管理,我們可以配置乙個名為 setting的模組,這個模組中包含乙個setting的類,用來儲存所有的設定。usr bin env python3.5 filename setting 儲存所有的設定 class setting...