📄 flowerhart.java
字号:
package role;
import java.awt.AlphaComposite;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.JFrame;
/**
* 花心类
* @author Administrator
*
*/
public class FlowerHart extends SportRole{
/**花心图像*/
public static Image flowerImage;
/**是否透明*/
private boolean isAlpha = true;
/**透明度*/
private float alpha = 0.0f;
/**是否不再透明*/
public boolean isShow;
/**移动时是否向左*/
private boolean isRight;
/**计数器*/
private int count;
/**是否停止动作*/
public static boolean isStop;
/**
* 构造方法
* @param x X坐标
* @param y Y坐标
* @param isLeft 向左移还是右移
*/
protected FlowerHart(int x, int y,boolean isRight) {
super(x, y, 100,100,0);
this.isRight = isRight;
this.img = flowerImage;
}
@Override
/**
* 重写父类move()方法
*/
public void move() {
if(isStop == false){
if(isRight){//向右移
this.x+=1;
this.y-=4;
}
else{//向左移
this.x-=1;
this.y-=4;
}
count++;
if(count>80){//计数器大于80,停止移动
isStop = true;
}
}
}
/**
* 设置状态,决定花心是否移动
* @param state 状态
*/
public void setState(int state){
this.state = state;
}
/**
* Method: drawMyself
* Desctiptoin: 绘制自身图形
* @param g : 画笔
* @param jf : 窗体画布
*/
public void drawMyself(Graphics g,JFrame jf){
if(isAlpha){//透明
Graphics2D g2d =(Graphics2D)g;
/*设置透明度*/
if(alpha<1){
alpha+=0.003f;
if(alpha>1){
alpha = 1.0f;
this.isShow = true;
}
}
else{
isAlpha = false;
}
g2d.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_ATOP, alpha)); // 开始
g2d.drawImage(img, x, y, width, height, jf);
g2d.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_OVER)); // 结束
}
else{//不再透明
g.drawImage(img, x, y, width, height, jf);
if(this.state == 1){
move();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -