編輯:初級開發
整個Snake的運行分4個方向,NORTH、SOUTH 、EAST、WEST分別對應了北、南、東、西四個方向,其中變量mDirection對應當前的方向,而mNextDirection對應下個運行時的位置。這裡星星分3種,使用的是一個Drawable圖片,分RED_STAR、YELLOW_STAR和GREEN_STAR三種顏色,游戲的星星出現位置由Random隨機數生成器來決定,這裡Random一般和Timer系統時鐘來隨機生成更真實一些,通過一個Handler對象來控制畫面的更新,使用了this.update();和this.invalidate();這兩個本地方法,Update和invaildate均為android.view.VIEw類的本地方法。這裡資源的使用通過Resources r = this.getContext().getResources();獲取了r對象的實例,通過r.getDrawable(R.drawable.redstar)獲取資源名為redstar的資源,返回的是一個Drawable對象。
對於按鍵信息,直接重寫VIEw類的onKeyDown方法,這裡KeyEvent傳遞的是按鍵的映射,比如KEYCODE_DPAD_UP向上,KeyEvent.KEYCODE_DPAD_DOWN向下等等,詳細的查看SDK中的onKeyDown
@Override
public boolean onKeyDown(int keyCode, KeyEvent msg) {
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {}
}
整個游戲的控制流程就是上面這些,對於游戲的邏輯而言比較簡單,這個貪食蛇並沒有包含3D設計和類似Nokia的能量走廊、6邊形軌跡,有空了我們一起來完善一個3D的貪食蛇游戲。
AppWidgetManager作為android平台上最主要的Widgets管理類,提供了更新AppWidget狀態,獲取已經安裝的Appwidget提供信息和其他的
不多說,上圖,見代碼。 package lab.sodino.airplane; import Java.text.SimpleDate
Google先後開始向自己的兩款旗艦手機Nexus One和Nexus S推送Android的小版本升級2.3.3。這也是官方版本Gingerbread發布近兩個月後,
眾所周知,在寫 android 程序的時候,很容易出現 OOM ,而出現的時機大多數是由 Bitmap decode 引發的: &