用Java写的一个简单的小游戏,叫弹球游戏。使用AWT画图技术及Timer定时器实现。
Java可以用于开发一些动画。所谓动画,就是间隔一定时间(通常小于0.1秒)重新绘制新的图像,两次绘制的图像之间差异较小。肉眼看起来就成了所谓的动画。
为了实现间隔一定的时间就重新调用组件的repaint()方法,可以借助于 Swing 提供的Timer类,Timer类是一个定时器,它有如下一个构造器:
Timer(int delay, ActionListener listener):每间隔 delay 毫秒 ,系统自动触发 ActionListener 监听器里的事件处理器方法,在方法内部我们就可以调用组件的repaint方法 ,完成组件重绘。
使用AWT画图技术及Timer定时器实现的弹球小游戏。
运行出来如下图所示:
部分代码如下图所示:(随便截取的)完整的代码在我的资源中可以找到。
//自定义一个类,继承canvas,充当画布
private class MyCanvas extends Canvas{
@Override
public void paint(Graphics g){
//绘制内容
if(isOver){
//游戏结束
g.setColor(Color.BLACK);
g.setFont(new Font("宋体",Font.BOLD,30));
g.drawString("Game Over",100,200);
}
else{
//游戏中
//绘制小球
g.setColor(Color.orange);
g.fillOval(ball_x,ball_y,ball_size,ball_size);
//绘制球拍
g.setColor(Color.pink);
g.fillRect(pai_x,pai_y,pai_width,pai_height);
}
}
}