第一步是创建项目项目名自拟
第二部创建个包名来规范class
然后是创建类 GameFrame 运行类
package com.sxt;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent服务器托管网;
import java.util.ArrayList;
import java服务器托管网x.swing.JButton;
import javax.swing.JFrame;
public class GameFrame extends JFrame {
// 窗口尺寸
private int windowWidth = 1400;
private int windowHeight = 700;
// 双缓冲图片
private Image offScreenImage = null;
// 攻击图片
private Image attack = Toolkit.getDefaultToolkit().getImage("img/attack.jpg");
// 游戏背景
Background background = new Background(this);
// 游戏玩家
Champion player = new ChampionHouyi(this);
// 双方小兵
MinionBlue mb = new MinionBlue(this);
MinionRed mr = new MinionRed(this);
// 防御塔
Turret turret = new Turret(this);
// 攻击按钮
JButton attackButton;
// 游戏元素列表
ArrayList objList = new ArrayList();
ArrayList redList = new ArrayList();// 红色方
ArrayList blueList = new ArrayList();// 蓝色方
ArrayList removeList = new ArrayList();// 存放将要删除的元素
public void launch() {
// 设置尺寸
setSize(windowWidth, windowHeight);
// 窗口居中
setLocationRelativeTo(null);
// 关闭事件
setDefaultCloseOperation(3);
// 用户不能调整窗口大小
setResizable(false);
// 标题
setTitle("尚学堂王者荣耀");
// 窗口可见
setVisible(true);
// 添加键盘监视器
this.addKeyListener(new GameFrame.KeyMonitor());
// 添加游戏元素
objList.add(background);
objList.add(player);
objList.addAll(turret.turretList);
blueList.add(turret.turretList.get(0));
redList.add(turret.turretList.get(4));
/**
* 攻击按钮
*/
attackButton = new JButton();
attackButton.setSize(130, 132);
attackButton.setLocation(1150, 430);
attackButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 按钮事件
player.attack(redList);
}
});
this.add(attackButton);
player.addButton();
while (true) {
mb.createMinion(this, blueList);
mr.createMinion(this, redList);
turret.addTurret(this);
repaint();
try {
Thread.sleep(25);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void paint(Graphics g) {
// System.out.println(player.getX()+" "+player.getY());
if (offScreenImage == null) {
offScreenImage = this.createImage(5984, 4452);
}
Graphics gImage = offScreenImage.getGraphics();
for (int i = 0; i
运行结果如下:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)
聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二) 前言 前文排版比较糟糕,这次我们使用vscode来写本文,,各位看客请见谅。 上文描述了 ServiceDescriptor 的三种构…