开发环境
开发工具:eclipse+jdk1.8
开发语言:Java
项目简介
本程序模拟一个潜艇大战小游戏,首先我们导入项目到eclipse中
注意:如果项目报错AWTUtilities报错,请选中项目,单击Build Path->Configure Build Path,如下图
![基于JavaSwing的潜艇大战插图 基于JavaSwing的潜艇大战插图](https://www.dtouy.cn/wp-content/uploads/2022/08/image-873-971x1024.png)
然后选择Add External JARs,选择自己本机jdk目录下的jre目录,找到lib文件夹,把rt.jar导入进去即可
![基于JavaSwing的潜艇大战插图(1) 基于JavaSwing的潜艇大战插图(1)](https://www.dtouy.cn/wp-content/uploads/2022/08/image-874-1024x559.png)
选择项目中的SubmarineWarMain.java,右键运行
![基于JavaSwing的潜艇大战插图(2) 基于JavaSwing的潜艇大战插图(2)](https://www.dtouy.cn/wp-content/uploads/2022/08/image-875.png)
单击进入游戏,进入游戏界面,选择菜单栏的开始即可开始游戏
![基于JavaSwing的潜艇大战插图(3) 基于JavaSwing的潜艇大战插图(3)](https://www.dtouy.cn/wp-content/uploads/2022/08/image-876.png)
![基于JavaSwing的潜艇大战插图(4) 基于JavaSwing的潜艇大战插图(4)](https://www.dtouy.cn/wp-content/uploads/2022/08/image-877.png)
此项目中, 关于碰撞的主要位于Hit.java
public class Hit implements Runnable
{
private MyPanel panel; //主面板
private Image image; //图片
private int liveTime = 500; //爆炸效果显示的时间默认为500毫秒
private int beginX = 0; //位置 x y
private int beginY = 0;
private boolean isRunning = false; //游戏是否正在运行标志
public Hit(int x,int y,MyPanel panel)
{
this.beginX = x;
this.beginY = y;
this.panel = panel;
this.image = Toolkit.getDefaultToolkit().getImage("imgs/炸弹效果.png");
this.image = new ImageIcon(this.image).getImage();
}
public void drawHitting(Graphics2D g)
{
g.drawImage(this.image, this.beginX,this.beginY,this.panel);
}
public void run()
{
while(!this.isRunning)
{
try {
Thread.sleep(this.liveTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.isRunning = true;
}
}
public boolean isRunning() {
return isRunning;
}
public void setRunning(boolean isRunning) {
this.isRunning = isRunning;
}
}
其他的代码,可自行查看注释即可
THE END
暂无评论内容