Flying Birds' blog 1st

2021年07月12日 99 字


关于实践周的第一个项目选择了制作Flying Birds小游戏,预备知识包括面向对象的封装,swing和awt包,Math类,事件监听器,多线程。

新的需要了解的包

AWT

1
import java.awt.*;

AWT(Abstract Window Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的 图形用户界面 的基本工具。
AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件( component s)。

More info: AWT

Swing

1
import javax.swing.*;

Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口、标签、按钮、文本框等。
Swing 提供了许多比 AWT 更好的屏幕显示元素,使用纯 Java 实现,能够更好的兼容跨平台运行。
为了和AWT组件区别,Swing组件在javax.swing.包下,类名均以 J 开头,例如: JFrame、JLabel、JButton等.

More info: Swing

imageIO

1
import javax.imageio.ImageIO;

Java使用imageio 读写图像,比较常见。读取如Bird的状态,Ground,Column类的图像(这里用已有素材,自己就PS了)

源码分类

1
2
3
4
Birdgame.java //绘制面板,放入背景图 增加鼠标监听器完成对小鸟飞行及游戏运行的控制,设计游戏开始的方法与流程。
Bird.java //设计小鸟,完成飞行轨迹、与柱子是否碰撞的方法等。
Ground.java //设计地面类完成移动的效果(移动方法实现)。
Column.java //设计柱子类完成移动的效果(移动方法实现)。

综上:
面向对象的封装:设计包装出小鸟、地面、柱子、游戏四个类。
swing和awt包:图形界面工具,绘制出游戏场景。
Math类:运用atan等方法辅助完成小鸟旋转角度转换。
事件监听器:运用鼠标监听器完成游戏状态转换及小鸟移动。
多线程:该项目就用到了一个sleep休眠。

Welcome back AM1ng!

本文作者: AM1ngkk
本文链接: https://am1ngkk.github.io/2021/07/12/BLOG1/