package cn.tedu.shoot;
import java.awt.image.BufferedImage;
/**
- 子弹
- @author
*/
public class Bullet extends FlyingObject{
private static BufferedImage images;
//静态代码块
static {
images = loadImage("bullet.png");
}
private int speed;//速度
/**构造方法*/
public Bullet(int x, int y){
super(8, 14, x, y);
speed = 2;
}
/**子弹的移动*/
public void step(){
this.y -= speed;
}
/**重写getImage()方法获取到图片*/
@Override
public BufferedImage getImage() {
if (isLife()) {
return images;
}else if(isDead()){
state = REMOVE;//修改状态为删除状态
}
return null;
}
/**检测是否越界*/
@Override
public boolean outOfBounds() {
return this.y <= -this.height;
}
}
大敌机:
package cn.tedu.shoot;
import java.awt.image.BufferedImage;
import java.util.Random;
/**
- 大敌机:
- @author
*/
public class BigAirplane extends FlyingObject implements Enemy{
private static BufferedImage[] images;
// 静态代码块
static {
images = new BufferedImage[5];
for (int i = 0; i < images.length; i++) {
images[i] = loadImage(“bigplane” + i + “.png”);
}
}
int speed;// 速度
/** 构造方法 */
public BigAirplane() {
super(99, 89);
this.speed = 2;
}
public void step(){
this.y += speed;
}
// 得到图片
int index = 1;
@Override
public BufferedImage getImage() {// 10M
if (isLife()) {
return images[0];
} else if (isDead()) {// 图片的切换
BufferedImage img = images[index++];
if (index == images.length) {
state = REMOVE;
}
return img;
}
/*
* images[index++]; index = 1; 10M images[1] index = 2 返回images[1] 20M
* images[2] index = 3 返回images[2] 30M images[3] index = 4 返回images[3]
* 40M images[4] index = 5 返回images[4]
*/
return null;
}
/**重写得分接口*/
@Override
public int getScore() {
return 3;
}
}
小敌机:
package cn.tedu.shoot;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;
/**
- 小敌机:
- @author
*/
public class Airplane extends FlyingObject implements Enemy{
private static BufferedImage[] images;
//静态代码块
static {
images = new BufferedImage[5];
for (int i = 0; i < images.length; i++) {
images[i] = loadImage("airplane" + i + ".png");
}
}
private int speed;//速度
/**构造方法*/
public Airplane(){
super(49, 36);
this.speed = 5;
}
/**移动*/
public void step(){
this.y += speed;
}
//得到图片
int index = 1;
@Override
public BufferedImage getImage() {//10M
if (isLife()) {
return images[0];
}else if(isDead()){//图片的切换
BufferedImage img = images[index++];
if (index == images.length) {
state = REMOVE;
}
return img;
}
/*images[index++];
* index = 1;
* 10M images[1] index = 2 返回images[1]
* 20M images[2] index = 3 返回images[2]
* 30M images[3] index = 4 返回images[3]
* 40M images[4] index = 5 返回images[4]
*
*/
return null;
}
@Override
public int getScore() {
return 1;
}
}
英雄机
package cn.tedu.shoot;
import java.awt.image.BufferedImage;
/**
- 英雄机:
- @author Administrator
*/