程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME平台上手機游戲移植的體會

J2ME平台上手機游戲移植的體會

編輯:J2ME
首先要說的是,我在公司移植的主要是日本的手機游戲.多數需要漢化處理.少數涉及到跨平台的移植.

  我所用的編程環境就是很普通的WTK+JDK.而且版本都是很低的,因為要符合中國移動的打包規范。然後再用一個文本編輯器寫寫代碼。僅此而已。

  手機游戲移植主要的工作是把原來的一款別的型號手機上的游戲。經過修改能在當前型號的手機上運行和使用的過程。所以可以把這個工作細分為幾方面的事情:

  1、處理屏幕尺寸

  這也是最重要的一點。不同型號的手機。屏幕大小不同。分辨率不同。所以要保證每款游戲放在每種型號的手機上都能達到同樣的運行效果。那的確是件困難的事情。所以移植的時候就盡量找差距較小的機型做移植。程序中需要注意的就是雙緩沖的尺寸。和畫面內容的位置。當然最願意看到的就是能有個全局變量來控制整個游戲場景。

  2、修改按鍵值

  這是另一個重要的方面。確保游戲能夠正常的操作的前提條件。比如NOKIA的機型的左右軟鍵分別是-6,-7,而Motorola的C650的左右軟鍵就是-21,-22。所以這種差別是無法回避的。除非你的手機游戲程序能夠適應不同的機型產生不同的鍵值。我上個月做的一款游戲就是這樣的。而且適應不同的屏幕大小。的確很不錯程序。

  3、處理內存占用

  這是另一個無法回避的問題。如果你的手機性能不錯。那也許你不用考慮。比如你做motorola E680的游戲。但是多數機型的內存容量是你需要重點考慮到的。我見過很多游戲移植到新機型時出現很多難以解釋的問題。一般都是由內存不夠引起的。比如圖片無法顯示。游戲無法安裝。死機等現象。所以我們移植的過程中。就要事先計算好你的內存占用情況。把無用的對象設置為NULL。

  4、完整漢化

  某些游戲是英文界面的。所以如果要符合中國移動的規范來做。還必須保證沒有一個英文字符出現。不過這聽起來也有點強人所難。 比如游戲中的LAP 1/3 賽道的第幾圈。 你非要改成 圈 1/3 。但是也沒辦法。符合規范是你提交游戲的前提保證。漢化中可能出現的問題就是。如果文字被做成圖片了,你需要通過美工的協助來完成工作。

  5、游戲的功能修改

  很多時候如果你要保持與中國移動的規范相同。就要修改左右功能鍵的位置。以及還要涉及到給游戲添加暫停和繼續的功能。甚至有時候你需要自己寫個游戲菜單。並且添加一些LOGO界面。

  上面提到的方面。多數都是移植中必須處理的工作內容。如果你碰到了難以讓你下手的游戲。不要著急。因為代碼不是你寫的。如果你看著頭暈,可以先從簡單的入手。然後理清思路。下面談談我移植過程中一般的步驟。

  1、查看資源文件

  這是最重要的。是你修改游戲的前提條件。如果你連資源文件都不清楚是什麼,那你無法完成剩下的工作。資源文件有幾種。比如單純的圖片。PNG格式(日本DOJA的游戲圖片格式是GIF)、聲音文件、文本文件、數據文件等等。這裡要提一下數據文件。我一般把除了圖片,聲音,文本以外的格式的文件都叫數據文件。不過這類文件是我不希望看到的。因為它不便於與修改。有些游戲為了讀取資源的方便。和占用空間的考慮。會把圖片文件做成一個數據文件來處理。以前我都是用Ultraedit把這個數據文件打開。然後一段一段的通過提取PNG格式的數據。然後從新保存成PNG文件。很麻煩。後來我自己寫了兩個工具。一個程序用來提取圖片。一個程序用來從新生成數據文件。感覺方便了許多。

  2、閱讀代碼的技巧

  代碼是必須得讀的。否則就不叫修改了。但是也不用你都讀懂,讀透。畢竟是別人寫的代碼嗎!(^_^看不懂的時候,想想這句找點心裡平衡),而且不用每句都看全了,如果上萬行的代碼。你把每句看一遍。也夠你累的。而且在BOSS規定的時間內完成不了。你也麻煩。我一般首先要看實現游戲主要場景和功能的類。也就是所謂的Canvas類。因為這個類肯定不是自己啟動的。要通過MIDlet主類加載。或者再委婉一些通過另外的類加載。所以其他的類都是輔助這個類來完成游戲功能的。然後看看這個類的導入了哪些包。 繼承自什麼類。實現了什麼接口。然後再看它的構造函數。以及paint()方法。如果有線程的話,還要看看run()裡面的代碼。這些就是這個游戲的主要切入點。控制著游戲的進程和繪圖。其他的像游戲中的算法之類的東東。如果有時間。你就好好研究一下。這對你來說是很有意義的。

  3、不要相信模擬器
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved