龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java游戏起步:(二)图形基础和显示文字

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
基本概念! 屏幕分辨率:以pixel为单位的屏幕面积,如800*600 位深:显示颜色数量。如8位有256色,16位有65536色 刷新率:单位HZ 有用的对象! Window对象:代表屏幕内容,可看作绘图的画布

基本概念!
  屏幕分辨率:以pixel为单位的屏幕面积,如800*600
  位深:显示颜色数量。如8位有256色,16位有65536色
  刷新率:单位HZ
  
  有用的对象!
  Window对象:代表屏幕内容,可看作绘图的画布,如JFrame就是Window的子类
  DisplayMode对象:用来指定屏幕分辨率,位深和刷新率
  GraphicsDevice对象:用来改变显示属性,可看作操纵显卡的界面,由GraphicsEnvironment对象取得
  
  一个将JFrame放至全屏的例子!
  import Java.awt.*;
  import javax.swing.JFrame;
  //先把三个对象预备好
  JFrame jf=new JFrame();
  DisplayMode displaymode=new DisplayMode(800,600,16,75);
  GraphicsDevice device=GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
  //JFrame至全屏
  device.setFullscreenWindow(jf);
  //改变显示方式
  device.setDisplayMode(displaymode);
  //退出全屏
  device.setFullscreenWindow(null);
  //想让效果更好一点,可以改变JFrame的显示方式。如:
  jf.setUndecorated(true);
  jf.setResizable(false);
  //另外,一般在改变显示方式时需要加上必要的判定和捕捉异常,像这样:
  if (device.isDisplayChangeSupported()){
        try {
               device.setDisplayMode(displayMode);
        }catch (IllegalArgumentException ex) {}
  }
  //显示个HelloWorld试试?在一个JFrame里加上:
  public void paint(Graphics g) {
        g.drawString("Hello World!", 20, 50);
  }
  //文字可以用java.awt.Graphics2D类抗锯齿!
  public void paint(Graphics g) {
        if(g instanceof Graphics2D){
               Graphics2D g2d=(Graphics2D)g;//Graphics2D是Graphics的子类
               //抗锯齿,绘制质量等可参考RenderingHints类的文档!
               g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        }
        g.drawString("Hello World!", 20, 50);
  }
  差不多了,下篇写绘制图形!


  
精彩图集

赞助商链接