J2ME 遊戲移植最頭疼的是:不同機型屏幕分辨率不同、支持的 JSR 擴展不同、美術資源尺寸不同。NetBeans Mobility Pack 引入 Configuration 機制,將這些差異抽象為配置屬性,配合預處理指令,實現一鍵構建多版本 JAR/JAD。
| 屬性 | 作用 |
|---|---|
| Platform | 目標模擬器/真機、支持的可選包(JSR) |
| Abilities | 用戶自定義屬性:如 ScreenSize、ScreenColorDepth、hasJSR184 等 |
| Sources Filter | 指定該配置編入的源文件/資源文件(可按屏幕尺寸分目錄放圖片) |
| Libraries & Resources | 指定依賴的類庫、資源包(如高/低分辨率圖包) |
| Creating JAR | 輸出的 JAD/JAR 文件名、屬性設置 |
//#if ScreenSize == "128x160"
int tileWidth = 12;
//#elif ScreenSize == "176x208"
int tileWidth = 16;
//#endif
//#if hasToneControl
Manager.playTone(ToneControl.C4, 200, 100);
//#endif
NetBeans 根據 Active Configuration 自動註釋/取消註釋代碼塊,構建時只編譯生效部分。
點擊 Build All Project Configurations,dist/ 目錄下將自動生成以配置名命名的子目錄,每個目錄包含針對該機型優化的 JAD/JAR,可直接發布測試。
Abilities 命名規範(如 ScreenSize、SupportMMAPI、HeapSize)。res/128x160/、res/240x320/,Sources Filter 勾選對應目錄。src-configName/,Sources Filter 包含它。