|
Snake這個項目把主界面剖成界面UI和游戲邏輯兩層,最基礎的界面UI部分用父類TileView來表示,子類SnakeView是在TileView的UI基礎上,加入相應的游戲控制邏輯,從而實現了兩者的分離,這對于游戲的修改非常有用。
UI實現部分
首先來看界面UI部分,基本思想大家都非常清楚:把整個屏幕看做一個二維數組,每一個元素可以視為一個方塊,因此每個方格在游戲進行過程中可以處于不同的狀態,比如空閑,墻,蘋果,貪食蛇(蛇身或蛇頭)。我們在操作游戲的過程,其實就是不斷修改相應方格的狀態,然后再讓整個View去重繪制自身(當然,還需要加入一些游戲當前所處狀態(失敗或成功)的判定機制)。TileView的數據成員如下:
//方格的大小
protected static int mTileSize;
//方格的行數和列數
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實例剖析筆記(七),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。