欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android基本游戲循環(huán)實(shí)例分析

 更新時間:2015年10月10日 12:09:49   作者:紅薯  
這篇文章主要介紹了Android基本游戲循環(huán),以完整實(shí)例形式較為詳細(xì)的分析了Android實(shí)現(xiàn)基本游戲循環(huán)的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實(shí)例講述了Android基本游戲循環(huán)。分享給大家供大家參考。具體如下:

// desired fps
private final static int  MAX_FPS = 50;
// maximum number of frames to be skipped
private final static int  MAX_FRAME_SKIPS = 5;
// the frame period
private final static int  FRAME_PERIOD = 1000 / MAX_FPS; 
@Override
public void run() {
  Canvas canvas;
  Log.d(TAG, "Starting game loop");
  long beginTime;   // the time when the cycle begun
  long timeDiff;   // the time it took for the cycle to execute
  int sleepTime;   // ms to sleep (<0 if we're behind)
  int framesSkipped; // number of frames being skipped 
  sleepTime = 0;
  while (running) {
    canvas = null;
    // try locking the canvas for exclusive pixel editing
    // in the surface
    try {
      canvas = this.surfaceHolder.lockCanvas();
      synchronized (surfaceHolder) {
        beginTime = System.currentTimeMillis();
        framesSkipped = 0; // resetting the frames skipped
        // update game state
        this.gamePanel.update();
        // render state to the screen
        // draws the canvas on the panel
        this.gamePanel.render(canvas);
        // calculate how long did the cycle take
        timeDiff = System.currentTimeMillis() - beginTime;
        // calculate sleep time
        sleepTime = (int)(FRAME_PERIOD - timeDiff);
        if (sleepTime > 0) {
          // if sleepTime > 0 we're OK
          try {
            // send the thread to sleep for a short period
            // very useful for battery saving
            Thread.sleep(sleepTime);
          } catch (InterruptedException e) {}
        }
        while (sleepTime < 0 && framesSkipped < MAX_FRAME_SKIPS) {
          // we need to catch up
          // update without rendering
          this.gamePanel.update();
          // add frame period to check if in next frame
          sleepTime += FRAME_PERIOD;
          framesSkipped++;
        }
      }
    } finally {
      // in case of an exception the surface is not left in
      // an inconsistent state
      if (canvas != null) {
        surfaceHolder.unlockCanvasAndPost(canvas);
      }
    }  // end finally
  }
}

希望本文所述對大家的Android程序設(shè)計有所幫助。

相關(guān)文章

  • Android通過自定義ImageView控件實(shí)現(xiàn)圖片的縮放和拖動的實(shí)現(xiàn)代碼

    Android通過自定義ImageView控件實(shí)現(xiàn)圖片的縮放和拖動的實(shí)現(xiàn)代碼

    通過自定義ImageView控件,在xml布局里面調(diào)用自定的組件實(shí)現(xiàn)圖片的縮放。下面給大家分享實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧
    2016-10-10
  • Android PicSelector圖片選擇器小功能

    Android PicSelector圖片選擇器小功能

    這篇文章主要為大家詳細(xì)介紹了Android PicSelector圖片選擇器小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 解析android中系統(tǒng)日期時間的獲取

    解析android中系統(tǒng)日期時間的獲取

    本篇文章是對在android中,如何系統(tǒng)日期時間獲取的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 詳解android是如何管理內(nèi)存的

    詳解android是如何管理內(nèi)存的

    這篇文章主要介紹了詳解android是如何管理內(nèi)存的,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下
    2021-03-03
  • Android三級緩存原理講解

    Android三級緩存原理講解

    今天小編就為大家分享一篇關(guān)于Android三級緩存原理講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Android上使用jspf插件框架的方法

    Android上使用jspf插件框架的方法

    這篇文章主要介紹了Android上使用jspf插件框架的方法,實(shí)例分析了jspf插件框架的功能與使用技巧,需要的朋友可以參考下
    2015-06-06
  • 詳解android與服務(wù)端交互的兩種方式

    詳解android與服務(wù)端交互的兩種方式

    這篇文章主要介紹了詳解android與服務(wù)端交互的兩種方式,此處介紹兩種方式:使用Google原生的Gson解析json數(shù)據(jù),使用JSONObject解析json數(shù)據(jù),有興趣的可以了解一下
    2017-07-07
  • Android Gradle開發(fā)指南詳解

    Android Gradle開發(fā)指南詳解

    這篇文章主要為大家詳細(xì)介紹了Android Gradle開發(fā)指南的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 詳解Android 硬布局item的高級寫法

    詳解Android 硬布局item的高級寫法

    這篇文章主要介紹了詳解Android 硬布局item的高級寫法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 一篇文章弄懂kotlin的擴(kuò)展方法

    一篇文章弄懂kotlin的擴(kuò)展方法

    這篇文章主要給大家介紹了如何通過一篇文章弄懂kotlin的擴(kuò)展方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用kotlin具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論