小敌机
package day19;
import java.awt.image.BufferedImage;
import java.util.Random;
/**小敌机*/
public class Airplane extends FlyingObject{
private static BufferedImage[] images;
static {
images= new BufferedImage[5];
images[0] = loadImage("airplane.png");
images[1] = loadImage("airplane.png");
images[2] = loadImage("airplane.png");
images[3] = loadImage("airplane.png");
images[4] = loadImage("airplane.png");
}
private int speed; //移动速度
/** 构造方法*/
public Airplane(){
super(49,36);
speed = 2;
}
/** 小敌机移动*/
public void step(){
y+=speed;//y+(向下)
}
int index = 1;
/**重写getImage() */
public BufferedImage getImage(){//每10毫秒走一次
if(isLife()){ //若活着
return images[0]; //直接返回image[0]
}else if(isDead()){ //若死了的
BufferedImage img = images[index++];//获取第2张到第5张图
if(index==images.length){//到最后一张图了
state =REMOVE; //则将当前修改为删除的状态
}
return img;
}
return null;//删除状态时,返回null
}
}
小蜜蜂
package day19;
import java.awt.image.BufferedImage;
import java.util.Random;
/** 小蜜蜂*/
public class Bee extends FlyingObject{
private int xSpeed; //x坐标移动速度
private int ySpeed; //y坐标移动速度
private int awardType; //奖励类型(0或1)
/**构造方法*/
public Bee(){
super(60,50);
xSpeed = 1;
ySpeed = 2;
Random rand = new Random();
awardType = rand.nextInt(2);//0或1
}
/** 重写step*/
public void step(){
x+=xSpeed;//x+向左或向右
y+=ySpeed;//y+(向下)
if(x<=0 || x>World.WINTH-this.width){//小蜜蜂到两头了
xSpeed*=-1;//则负变正,正变负
}
}
int index = 1;
/**重写getImage() */
public BufferedImage getImage(){//每10毫秒走一次
if(isLife()){ //若活着
return images[0]; //直接返回image[0]
}else if(isDead()){ //若死了的
BufferedImage img = images[index++];//获取第2张到第5张图
if(index==images.length){//到最后一张图了
state =REMOVE; //则将当前修改为删除的状态
}
return img;
}
return null;//删除状态时,返回null
}
}
天空
package day19;
import java.awt.image.BufferedImage;
/** 天空*/
public class Sky extends FlyingObject{
private static BufferedImage image;
static{
image = loadImage("background.png");
}
private int speed; //移动速度
private int y1; //第二张图的y坐标
/** 构造方法*/
public Sky(){
super(World.WINTH,World.HEIGHT,0,0);
speed = 1;
y1 = -World.HEIGHT;
}
/** step*/
public void step(){
y+=speed;//y+(向下)
y1+=speed;//y1+(向下)
if(y>=World.HEIGHT){
y-=World.HEIGHT;
}
if(y1>=World.WINTH){
y1-=World.HEIGHT;
}
}
/**重写getImage() */
public BufferedImage getImage(){
return image;//直接返回image即可
};
}
版权声明:本文为qq_39247931原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。