|
Snake這個項目把主界面剖成界面UI和游戲邏輯兩層,最基礎(chǔ)的界面UI部分用父類TileView來表示,子類SnakeView是在TileView的UI基礎(chǔ)上,加入相應(yīng)的游戲控制邏輯,從而實現(xiàn)了兩者的分離,這對于游戲的修改非常有用。
UI實現(xiàn)部分
首先來看界面UI部分,基本思想大家都非常清楚:把整個屏幕看做一個二維數(shù)組,每一個元素可以視為一個方塊,因此每個方格在游戲進行過程中可以處于不同的狀態(tài),比如空閑,墻,蘋果,貪食蛇(蛇身或蛇頭)。我們在操作游戲的過程,其實就是不斷修改相應(yīng)方格的狀態(tài),然后再讓整個View去重繪制自身(當(dāng)然,還需要加入一些游戲當(dāng)前所處狀態(tài)(失敗或成功)的判定機制)。TileView的數(shù)據(jù)成員如下:
//方格的大小
protected static int mTileSize;
//方格的行數(shù)和列數(shù)
protected static int mXTileCount;
protected static int mYTileCount;
//xy坐標系的偏移量
private static int mXOffset;
private static int mYOffset;
//存儲三種方格的圖標文件
private Bitmap[] mTileArray;
//二維方格地圖
private int[][] mTileGrid;
it知識庫:Android實例剖析筆記(七),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。