游戲API 使用了MIDP 的低級圖形類接口(Graphics,Image等等)。整個game 包僅有5個Class,其結構關系如圖:
GameCanvas
這個類是Canvas類的子類,為游戲提供了基本的"屏幕"功能。除了從Canvas 繼承下來的方法外,這個類還提供了游戲專用的功能,如查詢當前游戲鍵狀態的能力,同步圖像輸出;這些功能簡化了游戲開發并提高了性能。
這個類與Canvas 類相比有兩個優點:1。它擁有屏幕緩沖,2。它可以直接得到設備鍵盤的物理狀態。
Layer
Layer 類代表游戲中的一個可視化元素,例如Sprite 或TiledLayer 是它的子類;這個抽象類搭好了層(Layer)的基本框架并提供了一些基本的屬性,如位置,大小,可視與否。出于優化的考慮,不允許直接產生Layer 的子類(不能包外繼承)。
LayerManager
對于有著許多Layer 的游戲而言,LayerManager 通過實現分層次的自動渲染,從而簡化了游戲開發。它允許開發者設置一個可視窗口(View Window),表示用戶在游戲中可見的窗口;LayerManager 自動渲染游戲中的Layer,從而實現期望的視圖效果。
LayerManager負責管理Layer對象,并且按照指定的順序畫他們。
Sprite
Sprite 又稱“精靈”,也是一種Layer,可以顯示一幀或多幀的連續圖像。但所有的幀都是相同大小的,并且由一個Image 對象提供。Sprite 通過循環顯示每一幀,可以實現任意順序的動畫;Sprite 類還提供了許多變換(翻轉和旋轉)模式和碰撞檢測方法,能大大簡化游戲邏輯的實現。
TiledLayer
TiledLayer 又稱“磚塊”,這個類允許開發者在不必使用非常大的Image對象的情況下創建一個大的圖像內容。TiledLayer 有許多單元格構成,每個單元格能顯示由一個單一Image 對象提供的一組貼圖中的某一個貼圖。單元格也能被動畫貼圖填充,動畫貼圖的內容能非常迅速地變化;這個功能對于動畫顯示非常大的一組單元格非常有用,例如一個充滿水的動態區域。
TiledLayer更多的被用來創建背景,比如賽道或者其他更大的區域.