編輯:Android游戲開發
Android游戲開發中主要的類除了控制類就是顯示類,比較重要也很復雜的就是顯示和游戲邏輯的處理。在J2ME中可以通過Display和Canvas來實現顯示,而Android中處理顯示的是View類。下面為大家簡單介紹android.view.View和android.view.SurfaceView。
SurfaceView是從View基類中派生出來的顯示類,直接子類有GLSurfaceView和VideoView,可以看出GL和視頻播放以及Camera攝像頭一般均使用SurfaceView,到底有哪些優勢呢? SurfaceView可以控制表面的格式,比如大小,顯示在屏幕中的位置,最關鍵是的提供了SurfaceHolder類,使用getHolder方法獲取,相關的有Canvas lockCanvas()、 Canvas lockCanvas(Rect dirty) 、void removeCallback(SurfaceHolder.Callback callback)、void unlockCanvasAndPost(Canvas canvas) 控制圖形以及繪制,而在SurfaceHolder.Callback 接口回調中可以通過下面三個抽象類可以自己定義具體的實現(比如第一個更改格式和顯示畫面):
abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height) ;
abstract void surfaceCreated(SurfaceHolder holder) ;
abstract void surfaceDestroyed(SurfaceHolder holder) ;
對於Surface相關的,Android底層還提供了GPU加速功能,所以一般實時性很強的應用中主要使用SurfaceView而不是直接從View構建,同時後面會講到的OpenGL中的GLSurfaceView也是從該類實現。
ListView可謂是Android開發中使用非常頻繁的一個組件,在很多App
1. onKeyDown 方法 onKeyDown 方法是KeyEvent.Callback 接口中的一個抽象方法,重寫onKeyDown 方法可
TWL是一個基於OpenGL的圖形化用戶界面庫,它提供了一套非常豐富的窗口小部件,比如標簽,編輯框
由於Android開發 橫豎屏的切換會給游戲開發造成非常麻煩的事情 所以在游戲的制作當中會強制手機