首先,咱們介紹如何自定義WTK模擬器,由於默認的WTK模擬器老是有不盡如人意之處,好比,DefaultPhone的全屏高度就不是正好的320的高度,而是由於在界面頂端放置了一個標題,致使全屏高度總會小於320,所以,咱們須要消除這種問題,讓咱們的屏幕呈現正好的240*320的尺寸。或者遇到其它一些問題的時候,咱們均可以打開C:\WTK2.5.2\wtklib\devices\下相對應模擬器的文件夾下面的配置文件「*.properties」進行修改,裏面的具體參數我就不一一解釋,你能夠看裏面的英文註釋。爲了節約你的時間,也讓你能夠偷懶,你能夠到個人工程站點http://code.google.com/p/cyclone2d/downloads/list裏面找到「WTK自定義模擬器」,下載後解壓到「C:\WTK2.5.2\wtklib\devices\」目錄,這樣,你就多了一個本身定義的模擬器了,你能夠從Eclipse裏面從新搜索並發現它。
併發
對於你如今已經存在的J2me工程,若是須要使用這個模擬器的話,咱們還須要在設置一下,工程名上右擊-屬性->Java ME,而後在選中活動的Configuration,點擊右側的Edit,進行以下配置,即選擇咱們剛纔搜索到的模擬器。
性能
接下來,咱們介紹另一種J2me模擬器,叫KEmulator,它不是Sun的產品,可是徹底能夠用做咱們開發時使用,咱們幾乎能夠不使用WTK來進行開發,只有在遇到某些特殊狀況(好比打包)的時候,纔會須要使用WTK。學習
首先,從C2D工程站點下載「KEmulator」,下載以後解壓,放置的路徑最好不要含有中文。個人路徑是「E:\GameProjects\Tool\KEmulator」,接下來,咱們學習如何使用。ui
新建一個Java工程,New->JavaProjectgoogle
而後在工程上右擊->New->SourceFolder,填入res,新建一個res文件夾.net
接下來,爲咱們的Java工程引入KE的庫,在工程名右擊->Properties->Java Builder Path,選擇Libraries選項卡,點選「Add External Jars」,而後找到並加入咱們解壓目錄下的「Kemulator.jar」文件,如圖:code
接着把咱們的源碼和目錄從J2me工程拷貝過來,放在該工程相應目錄下。遊戲
如今,咱們能夠來運行當前的工程了。打開Run->RunConfigurations,在Java Application上面雙擊,在Main選項卡進行以下配置:ip
彆着急Run,還須要在Arguments界面作以下配置:內存
其中必須的兩條語句,一條指定了class path,默認是工程下面的bin目錄,另一個指定啓動Midlet。如上設置完畢以後,咱們能夠點擊Run,會看到以下畫面:
至此,KEmulator配置完畢。KE提供了WTK所不具備的一些性能統計、內存監視等對開發很是有幫助的功能,能用好這個模擬器對J2me開發會有很大幫助。
經過前面的例程,咱們會發現若是咱們的開發過程若是兼顧Android和J2me的時候,咱們須要創建多個工程,當咱們針對同一平臺的不一樣機型時,極可能咱們還須要分出更多的工程來,這樣咱們將會面對N多的工程,代碼的維護、bug的修改、產品的升級,將會變成一場災難,咱們會被淹沒在各類工程中間。咱們必須解決這種問題。
首先,咱們應該儘可能減小工程的出現,將可以放在一塊兒的代碼所有放在一塊兒,可以放在一塊兒的資源也所有都放在一塊兒。接下來,我介紹若是隻維護一個資源文件夾以及一個代碼文件夾的狀況下,咱們可以作到兼顧的Android和J2me平臺的開發,甚至使用一樣這套代碼便可應對多個機型甚至渠道的發佈問題。
由於咱們知道若是想在Eclipse裏面把資源打包到Android的應用程序APK文件中的話,咱們必須把資源放在Android工程的Assets文件夾中,然而代碼咱們就能夠不用必定要放在Android工程下面了。另外由於引擎代碼通常咱們也不會修改,所以咱們應該把它跟咱們的具體項目代碼分開,省得他被隨便改掉。咱們針對公司的全部遊戲項目維護一套引擎的話,有利於技術累積、避免重複開發以及規範化,咱們來演示一下操做過程。
首先,創建一個文件夾用來存放引擎源碼,好比我放在「E:\EngineProjects\Engine\C2D_Com\C2D_Com_Engine \sourcecode\engine」,接着,咱們再創建一個文件夾,用來存放當前項目代碼,如我放在「E:\EngineProjects\Engine\C2D_Com\C2D_Com_Engine\sourcecode\example」,而後,咱們把Android工程下的src刪掉,保留Asstes,咱們把資源放它裏面。而後,咱們將源碼從外面連接到工程裏面,右鍵點擊工程名>Properties->Java Build Path,在Source選項卡,咱們點擊「Link Source」,而後選擇咱們引擎源碼的目錄,本身定義一個頂級包名(即在打包後不存在的最頂層的文件夾名稱),
這樣,全部engine下面的代碼將出如今如今的工程裏面,就跟出如今src裏面的效果是同樣的。咱們如今不須要src,聚集各方代碼天然造成了src。接着,咱們就是將項目代碼使用一樣的方式連接進來,最終如圖:
這樣,咱們就是在Android工程下面的全部代碼都是來自於外部了。
接着,咱們對J2me工程使用類的操做,刪掉src和res,引入外部代碼,而後不一樣的是,將Android工程下的Assets目錄連接到當前的J2me下面做爲res,如圖:
這個時候,若是你的代碼報錯了,就Clean一下,Antenna會自動從新轉換你的代碼,讓它適應成J2me的版本。
固然,若是這時候你的Android工程是開着的,你會發現Android工程下的代碼會報錯,由於大家如今共享着同一套代碼,在J2me工程裏面它被改動了。因此這個時候你最好是同時只開着一個工程,關掉另外全部的共享代碼的工程。由於其實你也沒有必要同時開着不少工程。當須要另外工程的時候,再切換過去,Clean一下就行了。
如今你的工程已經實現共享代碼了,也實現共享資源了。咱們把KE工程也如此設置
固然也要給KE工程加上Antenna預處理。
好了,至此,咱們已經能夠任意打開一個工程,而後Clean就能夠得到該平臺下的編輯環境了,並且代碼的改動會同時反饋到其它全部的工程。固然,對於不一樣的平臺,你須要當心地加上預處理參數以面報錯。還好的是C2D引擎已經封裝了大部分功能平臺相關的內容,你幾乎不太會用到跟平臺相關的API,除非你決定不用Java了。
(想看清晰版本,到個人工程網址去下載吧http://code.google.com/p/cyclone2d/)