Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android游戲開發之旅二 View和SurfaceView

Android游戲開發之旅二 View和SurfaceView

編輯:高級開發

 在android游戲當中充當主要的除了控制類外就是顯示類,在J2ME中我們用Display和Canvas來實現這些,而Google Android中涉及到顯示的為vIEw類,android游戲開發中比較重要和復雜的就是顯示和游戲邏輯的處理。這裡我們說下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構建,同時android123未來後面說到的OpenGL中的GLSurfaceVIEw也是從該類實現。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved