java血条_TankWar 单机(JAVA版)版本2.3~版本2.4 为坦克画血条
运行结果:
为了在坦克上方画血条 。血条首先要有坐标x,y 宽和高width和height
血量的多少life也要有。
所以新建类Life要有这些参数
Life类如下:
package tankWar;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Rectangle2D;
public class Life {
private int x;
private int y;
private int width=40;
private int height=10;
private int life;
public Life() {
super();
// TODO Auto-generated constructor stub
}
public Life(int x, int y,int life) {
super();
this.x = x;
this.y = y;
this.life=life;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public void draw(Graphics g){
Graphics2D g2=(Graphics2D) g;
//画外圈
Rectangle2D r2=new Rectangle2D.Double(x, y-height, width, height);
g2.setColor(Color.YELLOW);
g2.draw(r2);
//根据血量比例画血条
Rectangle2D r=new Rectangle2D.Double(x+1, y-height+1, width*((double)life/100)-1, height-1);
g2.setColor(Color.RED);
g2.fill(r);
}
}
起初调试发现,坦克被击中一下 血量就为0 后来想了想 life/100这里。因为life是整形,除以100保留整数为0.所以强转为double
最后在Tank类中画坦克的时候画血条即可。
private void drawEnemyTanks(Graphics g) {
// TODO Auto-generated method stub
// 画敌方坦克
for (Tank t : enemyTanks) {
if (t.isbLive()) {
//画坦克
t.draw(g);
//画血条
Life life=new Life(t.getX(), t.getY(), t.getLive());
life.draw(g);
} else {
// 坦克死亡 画爆炸
Bomb b = new Bomb(t.getX() - 50, t.getY() - 30);
b.draw(g);
enemyTanks.remove(t);
}
}
}因为我的坦克不在集合里面,自己写
// 画我的坦克
if (myTank.isbLive()) {
myTank.draw(g);
Life life=new Life(myTank.getX(), myTank.getY(), myTank.getLive());
life.draw(g);
} else {
// 游戏结束
isGameOn = false;
}
全部代码点击下载
java血条_TankWar 单机(JAVA版)版本2.3~版本2.4 为坦克画血条相关推荐
- TankWar 单机(JAVA版)版本2.3~版本2.4 为坦克画血条
运行结果: 为了在坦克上方画血条 .血条首先要有坐标x,y 宽和高width和height 血量的多少life也要有. 所以新建类Life要有这些参数 Life类如下: package tankWa ...
- Oracle发布了Java SE支持路线图,Java 8 支持到2030年
最近Oracle发布了Java SE支持路线图,以帮助开发者了解Java SE的维护和支持选项以及相关的时间表,以便可以为公司和个人使用Java SE做出最佳决策. 自2017年9月以来,Oracle ...
- 中间画一条短竖线_许愿孔明灯怎么画,简约好看的孔明灯简笔画教程
日常许愿用的孔明灯简笔画如下,主要由直线和椭圆形构成.首先画一个椭圆形作为它的底部,然后在它的两端分别向上画一条线,接着线的一端继续画三条短直线,把整个轮廓描出来.然后在拐角处画上两竖线,让它有棱角更 ...
- 怎样在excel的一个单元格里画多条斜线再输入汉字
怎样在excel的一个单元格里画多条斜线再输入汉字 怎样在excel的一个单元格里画多条斜线再输入汉字 - 百度文库 表格表头如何在Excel中画斜线含双斜线及添加文字 百度 excel折线图表的插入 ...
- 我的世界JAVA版编程语言_Java版版本记录/开发版本
此页面并非官方版本记录或更新日志.官方日志请见Minecraft官网. 关于1.11及此前版本,请见Mojang官网. 关于Beta 1.8及此前版本,请见Notch的博客,Word of Notch ...
- mc用什么版本的java_MC版本Java版5大功能优势
众所周知Java开发应用广泛,Java版本被很多人认为是最好的MC版本,MC版本Java版5大功能优势有什么呢?Java版开发优势:支持更多的模组.各种节日彩蛋.官方更高的重视性.游戏画面色彩更好.操 ...
- 基于Java+JFrame开发的单机版开心农场游戏源码,Java开发的单机电脑版开心农场游戏源代码
单机版开心农场项目 介绍 使用 Java+JFrame 等相关知识开发一个单机电脑版的开心农场 软件架构 使用java中JFrame类相关知识进行可视化开发 使用javase阶段知识进行项目开发 本项 ...
- 我的世界1.18java,我的世界Java版1.16.5-rc1版本
我的世界Java版1.16.5-rc1版本是一款非常不错的世界冒险和探索类的游戏.独特的沙盒玩法,可以更好的进行较量,解谜各种的地域,可以更好的完成作战,打破一场属于你的别样时刻,可以快速的进行提升, ...
- python 3.6.5 java jdk版本_eclipse开发者版本下载-eclipse ide for java developers最新版v3.6.0 pc版 - 极光下载站...
eclipse ide for java developers最新版是一款对于Java开发人员创建Java EE和Web应用程序.安装上Eclipse IDE后不仅可以编写Java和C/C++等程序还 ...
最新文章
- 在疫情防控一线,技术能发挥什么作用?
- 【问题】最近遇到的不大不小的arduino库使用问题
- IOS使用通知回调方法
- 访问vue实例中的数据
- 迎来“进化”风口的电竞,能否在未来站上传统体育的肩膀?
- 等差素数列(素数筛暴力)
- python求和_Python程序查找特殊求和系列的解决方案
- Android应用程序中的多个Activity的显示创建和调用
- 特殊的forward_list操作
- RGB和CMYK的区别
- GCC Manual
- WPF 鼠标滚轮对图片的缩放
- norms matlab
- hbase snappy 安装_Hadoop HBase 配置 安装 Snappy 终极教程
- 修改contour的线条颜色
- 记录:起个撒名了, 就叫 《方向》 吧....
- OPCUA 设置登录用户名与密码
- app的崩溃率标准,优秀,合格,轻微隐患,严重隐患
- 疲劳检测,基于视频的疲劳检测、脱岗、打呵欠、闭眼、点头等检测
- smali打印callstack,Java打印callstack,JNI c++ 打印callstack
热门文章
- Minecraft 1.12.2模组开发(十二) 战利品 (loot)
- linux键盘修复,linux和macos_如何在macOS和Linux上修复Corsair鼠标和键盘问题
- Linux curses库
- Vue集成Bmap离线地图
- vue.config.js配置,webpack打包配置详解
- 深度学习中TOP-1 和TOP-5 分别表示什么意思?
- Python图像处理库Pillow(PIL)的简单使用
- java getmethod int_Method getMethod
- Unity3D 之 FX Maker
- html 引入 JQuery