📄 crow.java
字号:
package com.lovo.pig.model;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.util.Random;
import com.lovo.pig.view.MainFrame;
/**
* 乌鸦
* @author gonggang
*/
public class Crow {
private MainFrame mf;
private Random rand = new Random();
//乌鸦位置
public int x = 0,y;
public Crow(MainFrame mf){
this.mf = mf;
y = rand.nextInt(100) + 150;//乌鸦初始位置随机
}
//乌鸦图像下标
private int indexImg = 0;
//乌鸦被击中两次后,将飞回去(向左飞)
public int hp = 2;
public void draw(Graphics g){
g.drawImage(mf.images.getImgCrow()[indexImg],x,y, null);
move();
}
private void move(){
if(hp > 0){//向右飞
indexImg ++;
x += 10;
if(indexImg > 9){//反复使用前十张图像
indexImg = 0;
}
}else {
indexImg ++;
//切换成乌鸦被击中的图像
if(indexImg < 10){
indexImg = 10;
}
if(indexImg > 23){
//乌鸦被击中的四张图像只绘制一次,然后反复绘制向左飞的图像
indexImg = 14;
}
x -= 10;
}
if(x > 800 || x < 0){
mf.crows.remove(this);
}
}
/**
* 返回狼边界矩形,用于碰撞检测
* @return
*/
public Rectangle getRect(){
Rectangle rect = new Rectangle(x,y + 20,
mf.images.getImgCrow()[indexImg].getWidth(null) - 20,
mf.images.getImgCrow()[indexImg].getHeight(null)- 40
);
return rect;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -