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

图形|显示

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

时间: 2024-12-22 16:32:59

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

Java游戏起步:(一)线程与线程池

任何游戏都至少需要运行两个线程,主线程和GUI线程而线程池是一个管理运行线程的有用工具,下面的代码示范了一个线程池的实现方法~~************************************************(ThreadPool.java)import java.util.LinkedList; /** 线程池是一组线程,限制执行任务的线程数*/public class ThreadPool extends ThreadGroup { private boolean isAli

在PHP的图形函数中显示汉字_php基础

如何在PHP图形函数中显示汉字,大家已经问了很久了,但一直没有结果.终于在参考另一篇文章后,我试验出来了! 方法: 首先,决定要显示哪些汉字,如"计数器"这三个字. 到Word2000(97不知可不可以)中去,输入这三个字,另存为,选择编码格式,然后再在右边的编码类型里选择unicode utf-8,记住不要选错了.存成一个编码格式的文本文件,比如说文件名叫test.txt. 用一个16进制的编辑器打开这个文件,这时你会看到,里面有一堆16进制字符,一个汉字占三个字节,所以这里,你应该

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

Java游戏编程初步

编程 现在流行的游戏似乎都是用C或C++来开发的.在java平台上几乎没有很大型及可玩的流行游戏.由于java是个新生语言,他的许多特性还有待大家的发掘,但是我们不能否认Java在游戏编程方面的强大性.本文将带领大家一步一步学习编写Java游戏.最终打造属于自己的Java游戏. 在开始之前我们得确认你已经安装了Java JDK,并已经安装了浏览器软件如IE.本章是以Internet为开发对象,一步一步教大家认识Java的Thread.Applets-.以及游戏编程要注意的一些方方面面并在每一小部

JAVA程序员必读:基础篇(8)

程序|程序员 JAVA程序员必读:基础篇时间:2001/09/13 13:31 作者:ZSC 太平洋网络学院 2.6什么是接口 接口是一个收集方法和常数表单的契约.当类执行一个接口,它就许诺声明在那个接口中执行所有的方法. 接口是一个设备或者一个系统,它是用于交互的无关的实体.根据这个定义,远程控制是一个在你和电视的接口:而英语是两个人之间的接口:强制在军事中的行为协议是不同等价人之间的接口.在JAVA语言中,接口是一个设备,它是用来与其它对象交互的设备.一个接口可能对一个协议是类似的.实际上,

JAVA程序员必读:基础篇(2)

程序|程序员 JAVA程序员必读:基础篇时间:2001/09/13 13:31作者:ZSC 太平洋网络学院 二.面向对象编程 如果你以前从来没有使用面向对象语言,你需要在开始编写JAVA代码之前先理解这个概念.你需要理解什么是对象.什么是类.对象和类的关系怎样以及使用消息怎样在对象之间进行通讯.本教程的前面部分将描述面向对象编程的概念,而后面的教程将教你怎样将这个概念编成代码. 2.1什么是对象 对象是一些相关的变量和方法的软件集.软件对象经常用于模仿现实世界中我们身边的一些对象.对象是理解面向

Java游戏开发中应始终坚持的10项基本原则

关于文章中涉及的两个杜撰概念: 一.绘图器:众所周知,Java GUI以paint进行绘图,以repaint进行图像刷新,而完成repaint及paint这一连贯过程中所用到绘图组件,我将其称为绘图器.就我个人的体会,绘图器的调用时机应始终处于repaint之后paint之前,即通过repaint触发刷新后执行,当其中的具体逻辑完成其对应的图像绘制后,再通过统一接口将其图像插入paint中,为了匹配需要,绘图器应始终以接口方式实现. 二.监听器:这里所说的监听器,并不是特指某个Listener组

求教 能用代码操作java游戏吗?

问题描述 KEmulator模拟器玩java游戏(jar包),键盘按键:上下左右abcd之类在不开KEmulator模拟器的情况下,是否可以写代码执行,实现和在KEmulator模拟器上一样的操作么?例如:模拟器里,人物在坐标0,0:按4下方向键"↑",人物来到0,4:能否不开模拟器用代码实现这个操作? 解决方案 解决方案二:一定能,模拟器就是用代码实现的,你可以用代码模拟模拟器去实现!解决方案三:JAVA手机游戏模拟器KEmulator,已有好多现成的,你搜索下就有如果你要自己的代码

用java的swing做图形界面开发

问题描述 我发现网上与这个有关的东西都很少啊,这个是不是很冷门啊?做这个是不是没什么前途?我是在校的大学生,对java比较感兴趣,但是学完简单的语法后都不知道该做什么好,请各位前辈指一下路哈,谢谢. 解决方案 不是.主要是J2SE这方面做得人很少了.现在Java主要都是JavaWEB.做J2SE的都跑Android去了.做J2SE的看不起J2EE的.大都这样呵呵~~~Java Swing主要是效率比较低,所以用得人很少做图形界面的话C++和C比起Java来有着绝对的优势,而且Java Swing