J2ME游戏开发学习之高效&漂亮显示积分

web学习吧 2006-12-19 来源: 收藏本文
游戏中能漂亮地显示积分是很重要的,手机自带的字体无疑太难看了,所以我们需要用图片来代替数字。

这个是图片资源, 新建一个图片数组: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垃圾,于是就写了这个函数,效果还不错


关于我们 - 免责声明 - 版权所有 - 广告服务 - 友情连接 - 商务合作 - 联系我们