activity類:必要屬性
各種su***ceview
各種動畫執行緒
各種聲音 (mediaplayer或者soundpool)
handler //根據收到的mssage切換su***ceview或者更新控制項
entity類: 必要的屬性(記錄位置,寬高等)
dodraw(cancas cancas){} //繪製自己
touchevent(int x, int y){} //出發事件
contains(int x, int y) //碰撞檢測
nextframe() //切換動畫的下一幀,有這個方法後在換幀執行緒中只要不斷的呼叫 這個方法就可以了。
su***ceview類:必要屬性 1:activity 2:換幀執行緒 3:entitys
public 建構函式(activity activity) //用來控制聲音或者通過handler向activity傳送message
dodraw(canvas canvas) //呼叫entity的dodraw
touchevent(motionevent event) //呼叫entity的touchenvent
public void su***cecreated(su***ceholder holder) // 啟動換幀執行緒
public void su***cedestroyed(su***ceholder holder)// 停止換幀執行緒
物理引擎執行緒類: 建構函式將要控制的物件傳進來(一般是entity) 注意:"一直"在調整entity的狀態才需 要物理引擎
屬性:int sleepspan 休眠時間
boolean flag 迴圈標誌
計算下一狀態的資訊,並改變控制物件的屬性
換幀執行緒類: 建構函式傳入su***ceview類
屬性:int sleepspan //休眠時間
boolean flag //迴圈標誌
su***cevie su***ceview //呼叫其ondraw()方法
su***ceholder su***ceholder //用與得到canvas
public 建構函式(su***ceview, su***ceholder)
主要呼叫su***ceview的dodraw方法,注意同步 su***ceholder
int sleepspan = 200;//睡眠的毫秒數
private boolean flag = true;
int status = 0;
activity activity; //activity的引用
public 建構函式(activity activity)
public void setflag(boolean flag)
public void run()
keythread(鍵盤監聽執行緒):
在activity的onkeyup(),onkeydown()函式中只設定了乙個鍵盤狀態位action用於記錄什麼鍵被按下,在
keythread中獲取action並作出響應。
Android 遊戲開發 View框架
按鍵盤的上下鍵矩形就會上下移動 通過例項化handler物件並重寫handkemessage方法實現了乙個訊息接收器。然後再執行緒中通過sendmessage方法傳送更新介面的訊息,接收器收到更新介面的訊息時便執行invalidate方法更新螢幕顯示。package com.yarin.androi...
Android遊戲開發 遊戲框架的搭建 3
5.影象模組 graphics 最後乙個模組是影象操作模組,用來繪製影象到螢幕上。不過要想高效能的繪製影象,就不得不了解一些基本的影象程式設計知識。讓我們從繪製2d影象開始,首先要了解的乙個問題是 影象究竟是如何繪製到螢幕的?答案相當複雜,我們不需要知道所有的細節。光柵 畫素和幀緩衝 framebu...
android 開發框架
二 資料儲存 在android,可供選擇的儲存方式包括了sharedpreferences 檔案儲存 sqlite資料庫儲存方式 內容提供器方式 content provider 以及網路方式 5種,具體如下 sharedpreferences是android提供的一種配置檔案讀寫方式,預設存在應用...