📄 magicbox.java
字号:
package zonja;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Random;
public class MagicBox extends ZonSprite {
public MagicBox(int scrWidth, int scrHeight) {
super(scrWidth, scrHeight);
setRealSize(16, 20);
}
public static final int NO_TREASURE = 0xFFFF;
private static Random rand = null;
private int treasureIndex = NO_TREASURE;
private boolean beAttacked = false;
private boolean beExposed = false;
private boolean beCollected = false;
public boolean saveData(DataOutputStream dos) {
if(!super.saveData(dos))
return false;
try {
dos.writeBoolean(beAttacked);
dos.writeBoolean(beExposed);
dos.writeBoolean(beCollected);
}
catch(Exception e) {
return false;
}
return true;
}
public boolean loadData(DataInputStream dis) {
if(!super.loadData(dis))
return false;
try {
beAttacked = dis.readBoolean();
beExposed = dis.readBoolean();
beCollected = dis.readBoolean();
}
catch(Exception e) {
return false;
}
return true;
}
void mainAction() {
if (offsetX < scrWidth && offsetX + frameWidth > 0){
isVisible = true;
} else
isVisible = false;
if (beAttacked){
if (frameIndex == 2){
rand = new Random();
int num = rand.nextInt();
if(num % 7 == 0){
if(treasureIndex != 5){
treasureIndex = 3;
}
}
rand = null;
if (treasureIndex == 5){
setPosition(offsetX, offsetY - 32);
setFrameSequence(5, 5);
} else if (treasureIndex == 3){
setPosition(offsetX, offsetY - 32);
setFrameSequence(3, 4);
} else {
setFrameSequence(6, 6);
}
beExposed = true;
// beAttacked = false;
}
nextFrame();
}
if (beCollected){
isVisible = false;
beExposed = false;
//beCollected = false;
}
if(hVelocity != 0)
changeWorldOffset(hVelocity, 0);
}
public int getTreasureIndex() {
return treasureIndex;
}
public void setTreasureIndex(int treasureIndex) {
this.treasureIndex = treasureIndex;
}
public boolean isAttacked() {
return beAttacked;
}
public void setAttacked(boolean beAttacked) {
this.beAttacked = beAttacked;
}
public boolean isCollected() {
return beCollected;
}
public void setCollected(boolean beCollected) {
this.beCollected = beCollected;
}
public boolean isExposed() {
return beExposed;
}
public void setExposed(boolean beExposed) {
this.beExposed = beExposed;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -