最近幾天,有很多初學J2ME的朋友向我詢問初學J2ME應該注意些什麼東西,我仔細想了一下,給大家如下的幾點建議:
1.首先要基本瞭解物件導向的編程方法,對類和方法要有一定的理解,特別是繼承,派生,多態等特性, 這個是最根本的基礎。
2.最好手邊有一本J2ME開發參考手冊,裡面有J2ME的所有內部類的詳細介紹,J2ME能不能做好,根本上是你對內部類的理解和應用。對於初學者來說,java.lang.*,javax.microedition.lcdui.*,javax.mijcroedition.midlet.*是最先要掌握的包,對這個包裡的內部類的基本用法都要有足夠的瞭解。J2ME的遊戲編程在我看來就是一個主MIDlet類加上若干Canvas類再加上其他的輔助類(包括自己定義的類)組成的一個整體。
3.用別人的代碼來學習,但不要看太多代碼,也不要一開始就看很複雜的代碼(超過3000行的代碼),因為你對物件導向編程的不熟悉,一開始就看由很多類,並且有的類的代碼超過幾千行的話,只會讓你一頭霧水,得到的指導也不會太多。在學習的時候,自己為代碼加上自己的注釋,只有這樣才真正說明你看懂了這些代碼。
4.在學習的過程要自己做例子,曾經有朋友跟我抱怨說自己不知道做什麼項目來訓練,其實自己做練習並不一定要一個很完整的項目,可以從一些最基本的遊戲模組開始練習,比如,如何在螢幕上顯示一張圖片或者多張圖片,如何來實現這些圖片的重疊和移動(手動控制移動或者自動移動),如何在顯示圖片的時候調出一個Form來顯示一些資訊,然後又能夠切換回圖片,這些小的練習雖然不能夠形成一個完整的遊戲,但他是做遊戲的基礎,所以初學者一定不要一開始就拿一個很大的項目來做,那樣只會讓你總是做得似是而非,要踏踏 實實從小做起,每個高手都是這樣走過來的,像我們離高手還有很遠的距離,只能夠從這些點滴的練習中積累自己的經驗。
5.程式的最佳化,演算法設計這些不是初學者應該去研究的東西,這些是當你已經能夠獨立完成一個完整的小遊戲之後才要考慮的東西,程式的最佳化也不是三言兩語能夠說清的,很多最佳化上的資料和辦法都是前人在作過無數次實驗之後才得出的結論,是非常珍貴的,至於演算法,在J2ME中設計演算法其實比在C++中更累,因為你設計的演算法最起碼要保證在手機上運行不至於死掉(這就是為什麼傳統的A*演算法基本不能夠直接移植到手機上的原因)。
6.多和別人交流,在交流的過程中,你會得到更多的經驗,事實上就算是水平不高的編程者也會在某些方面有自己獨到的見解,這會教會你很多的東西。