Java遊戲起步:(二)圖形基礎和顯示文字

來源:互聯網
上載者:User
圖形|顯示 基本概念!
螢幕解析度:以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);
}
差不多了,下篇寫繪製圖形!

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.