J2ME遊戲開發學習之高效漂亮顯示積分

來源:互聯網
上載者:User
顯示 遊戲中能漂亮地顯示積分是很重要的,手機內建的字型無疑太難看了,所以我們需要用圖片來代替數字。

這個是圖片資源, 建立一個圖片數組:Image[] imgNumbers = new Image[10];然後讀入即可

把這個函數加入到你的遊戲畫積分部分就可以了

/**

   * 畫得到的總分數

   * @param g Graphics

* @param totalScore

   */

  private void drawTotalScore(Graphics g) {

    //把當前的總經驗值轉化為數組::比如2335 --> {0, 0, 2, 3, 3, 5};

    int _totalScore = totalScore;//totalScore是你遊戲中總的積分

    int i = 0;

    int[] t = new int[6];

 

    while(_totalScore > 9) {

      t[i] = _totalScore % 10;

      _totalScore /= 10;

      i++;

    }

    t[i] = _totalScore;

      

       //從最高位開始畫數字,

    for( ; i >= 0; i--) {

      g.drawImage(imgNumbers[t[i]], offsetX + i * 10,  y,  Graphics.RIGHT | Graphics.TOP);

    }

  }

 

很簡單不是?用到的都是資料結構上的東西。剛開始時我用的是把int型轉化為String然後再去畫,後來發現超級占記憶體,產生很多String垃圾,於是就寫了這個函數,效果還不錯



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。