当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

<b>J2ME游戏开辟本领</b>[Java编程]

赞助商链接



  本文“<b>J2ME游戏开辟本领</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

不久前我曾用J2ME开辟了一个MotoT720下的彩色游戏—宝石方块(GridOne).开辟历程中堆集了一些经验,目前写出来与大家分享.

利用双缓冲避免屏幕闪耀

双缓冲技术是编写J2ME游戏程序的关键技术之一.实际上,双缓冲技术是计算机动画的一项传统技术.造成屏幕闪耀的主要缘由在于,画面在显示的同时,程序又在改变它,于是画面闪耀.办理办法就是在内存中开辟一片区域作为后台画面,程序对它更新,改正,完成后再显示它.这样被显示的图象永久是已经完好画好的图象,程序改正的将不是正在被显示的图象.当然还有别的办法可以办理屏幕闪耀问题,但利用双缓冲技术是一种值得举荐的办理筹划.具体办法可拜见以下代码:

public class BlocksCanvas extends Canvas implements Runnable
{
Graphics bg;
Image buf;
public BlocksCanvas()
{
 ......
 height = getHeight();
 width = getWidth();
 //按屏幕大小成立缓冲对象
 buf = Image.createImage(width, height);
 //将缓冲对象的Graphics附给bg
 bg = buf.getGraphics();
 ......
}  
public void run()
{......
 for(i=0;i<ROWS;i++)
 {
  for(j=0;j<COLS;j++)
  {//画方块
  drawBlock(x,y);
  }
 }
 repaint();
}
private void drawBlock(int block_x, int block_y)
{
 //获得方块的坐标
 int x = getLeft(block_x);
 int y = getTop(block_y);
 //获得方块的颜色
 int c= board[block_x][block_y];
 bg.drawImage(imgs[c], x, y, Graphics.TOP | Graphics.LEFT);
}
public void paint(Graphics g)
{
 g.drawImage(buf, 0, 0, Graphics.TOP | Graphics.LEFT);
}
}

由上面代码可见,双缓冲思惟表目前程序上就是要顺次完成以下几步工作:

1.定义一个Graphics对象bg和一个Image对象buf,按屏幕大小成立一个缓冲对象附给buf,然后获得buf的Graphics对象附给bg.在这里,Graphics对象可以理解为缓冲的屏幕,Image对象则可当作缓冲屏幕上的图片.

2.在bg(缓冲屏幕)上用drawImage()和drawString等语句画图,相当于在缓冲屏幕上画图.

3.调用repaint()语句,它的功效是奉告系统调用paint()来完成真实屏幕的显示.这里需求注意的是,paint()是一个系统调用语句,不妙手工调用,只能通过paint()语句来调用.

4.在paint(Graphics g)函数里,将buf(缓冲屏幕上的图片)画到真实屏幕上.

以上的步骤固然看似烦琐,但是效果还是很不错的.假如想要在屏幕上显示什么东西,只管画在bg上,然后调用repaint()将其显示出来便可以了.


  以上是“<b>J2ME游戏开辟本领</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .