我目前是一個應用開發人員,對遊戲開發有些濃厚的興趣與好奇,故此研究一下,先由淺入深研究一下座標,在應用開發中偶爾也會使用座標,基本差別不大
都是在activity中
獲得WindowManager對象,然後從WindowManager對象中獲得Display對象,再從Display對象中獲得屏幕的寬和高。
// 獲得屏幕的寬和高
WindowManager manger = getWindowManager();
Diaplay diaplay = manager.getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
例如,在射擊類遊戲中我們就需要判斷玩家、敵人、子彈等視圖的邊界位置。邊界的判斷無非是對上、下、左、右屏幕邊界的判斷。
如果當前視圖的X座標小於零,則當前視圖左越界。如果當前視圖的X座標大於屏幕的寬,則右越界。
如果當前視圖的Y座標小於零,則當前視圖上越界。如果當前視圖的Y座標大於屏幕的高,則下越界。
視圖的移動
遊戲的實現過程其實很簡單,就是不但改變視圖的位置座標,然後重新將他們繪製在屏幕上。不過這種座標的位置改變和繪製過程是通過一定邏輯來控制實現的。視圖的移動就是通過改變視圖座標位置來實現的。改變了座標再重新繪製,給我們的感覺是視圖在移動。
如果視圖水平向左移動,X座標減小;如果視圖水平向右移動,X座標增大。
如果視圖垂直向上移動,Y座標減小;如果視圖垂直向下移動,Y座標增大。
Android遊戲開發基本框架
Android遊戲開發框架基本對象有三個:一是圖層對象,該圖層對象定義圖層的寬和高、圖層的位置、圖層的移動以及繪製方法等;二是視圖對象,視圖對象的主要作用是繪製圖層對象、相應鍵盤事件和處理視圖線程等;三是一個Activity控制遊戲流程,例如啓動遊戲、暫停遊戲、停止遊戲等。