显示窗口
游戏里所有的绘制操作都要在窗口的基础上进行,可以用JFrame来新建一个窗口
JFrame window = new JFrame();//新建窗口
window.setVisible(true);//将窗口设置为可见
window.setSize(650, 500);//设置窗口宽高
运行一下,会弹出来一个空窗口,关掉窗口,你会发现程序还在运行,没有退出,需要强制退出,只需要改一下关闭窗口时的默认动作
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
设置标题
window.setTitle("Java 2D Game");//设置标题
效果:
绘制自定义图形
由于做的是游戏,不可能用Java自带的控件来做,那样效率很低,所以需要新建一个类,继承JFrame,重写paint方法,自己来画
新建Game类
public class Game extends JFrame
{
private int width;
private int height;
private String windowTitle;
public Game(int windowWidth, int windowHeight, String title)
{
width = windowWidth;
height = windowHeight;
windowTitle = title;
createWindow();
}
//创建窗口
private void createWindow()
{
setSize(width, height);
setTitle(windowTitle);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
重写paint方法
//重写窗体绘制方法
@Override
public void paint(Graphics g)
{
}
改一下main方法
public static void main(String[] args)
{
Game window = new Game(650, 500, "Java 2D Game");//新建窗口
}
运行一下,发现窗口是完全透明的,因为我们还什么都没有画
我们画一些东西上去
//重写窗体绘制方法
@Override
public void paint(Graphics g)
{
g.setColor(Color.BLACK);//设置画笔为黑色
g.fillRect(0, 0, width, height);//填充整个窗口为黑色
g.setColor(Color.WHITE);
g.drawString("Hello world!", 100, 100);//在(100, 100)处画文字“Hello world!”
}
注意画文字的时候有个坑,坐标不要设置太小了,要不然会画在窗口外面,看不到
效果图:
下一篇:【Java 2D游戏开发】GameObject与Sprite(二)
上一篇:无