素材與繪製¶
GridObject 的行為決定遊戲規則,繪製則將物件目前的狀態轉換成畫面。每一幀的繪製階段,Engine 讀取每個物件的素材名稱、方向、顏色與繪製層級,把它畫在所在的格子;即使兩個物件使用相同素材,仍可各自擁有不同的座標、方向、顏色與層級。
Grid++ 提供兩種網格畫面來源。素材包適合角色與場景圖片;基本圖形則提供不需外部檔案的方形、圓形、三角形、五邊形和五角星。兩者都回傳 GridObject,因此位置、顏色、層級、顯示狀態、Update 與 Collide 的寫法完全一致,差別只在於「畫出來的是圖片還是幾何形狀」。
Pac-Man 教學一開始就用 loadAssets("pacman.db") 載入了現成的素材包,打地鼠則先使用找不到素材時的紅色替代方塊,讓遊戲規則可以獨立完成。本章說明素材包如何運作、怎麼做出自己的素材包,或改用不需素材的基本圖形,最後整理顯示狀態與繪製順序。
完成本章後¶
- 能把 32×32 PNG 圖片轉成素材包並以名稱載入。
- 能判斷何時使用素材、何時使用基本圖形。
- 能利用方向、顏色、顯示狀態與 layer 控制畫面,而不改變遊戲規則。