WEB开发网
开发学院WEB开发Jsp Java游戏起步:(二)图形基础和显示文字 阅读

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

 2008-01-05 18:45:27 来源:WEB开发网   
核心提示:基本概念!屏幕分辨率:以pixel为单位的屏幕面积,如800*600位深:显示颜色数量,Java游戏起步:(二)图形基础和显示文字,如8位有256色,16位有65536色刷新率:单位HZ有用的对象!Window对象:代表屏幕内容,如:jf.setUndecorated(true);jf.setResizable(fal

基本概念!
屏幕分辨率:以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);
}
差不多了,下篇写绘制图形!


Tags:Java 游戏 起步

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接