mirror of
https://github.com/icela/FriceDemo.git
synced 2026-10-18 14:35:37 +08:00
79 lines
2.3 KiB
Java
79 lines
2.3 KiB
Java
import kotlin.Pair;
|
|
import org.frice.Game;
|
|
import org.frice.anim.move.SimpleMove;
|
|
import org.frice.obj.effects.ParticleEffect;
|
|
import org.frice.obj.sub.ImageObject;
|
|
import org.frice.resource.graphics.ColorResource;
|
|
import org.frice.resource.graphics.ParticleResource;
|
|
import org.frice.resource.image.FileImageResource;
|
|
import org.frice.utils.audio.AudioManager;
|
|
import org.frice.utils.time.FTimer;
|
|
|
|
import javax.imageio.ImageIO;
|
|
import java.awt.event.KeyEvent;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.Random;
|
|
|
|
import static org.frice.Initializer.launch;
|
|
|
|
public class Demo9 extends Game {
|
|
private int cnt = 0;
|
|
|
|
public static void main(String[] args) {
|
|
launch(Demo9.class);
|
|
}
|
|
|
|
private ImageObject boss;
|
|
private FTimer timer = new FTimer(600);
|
|
|
|
@Override
|
|
public void onInit() {
|
|
super.onInit();
|
|
boss = new ImageObject(new FileImageResource("3.png"), 10.0, 20.0);
|
|
ImageObject plane = new ImageObject(new FileImageResource("1.png"));
|
|
setBounds(100, 100, 500, 500);
|
|
addObject(new ParticleEffect(new ParticleResource(this, 500, 500,
|
|
ColorResource.WHITE, ColorResource.GREEN), 0, 0));
|
|
addObject(boss, plane);
|
|
addKeyPressedEvent(KeyEvent.VK_SPACE, e -> {
|
|
ImageObject object = new ImageObject(new FileImageResource("2.png"), plane.getX(), plane.getY());
|
|
object.addAnim(new SimpleMove(0, -300));
|
|
object.addCollider(new Pair<>(boss, () -> {
|
|
AudioManager.play("1.wav");
|
|
removeObject(object);
|
|
}));
|
|
addObject(object);
|
|
});
|
|
addKeyPressedEvent(KeyEvent.VK_A, e -> plane.setX(plane.getX() - 20));
|
|
addKeyPressedEvent(KeyEvent.VK_D, e -> plane.setX(plane.getX() + 20));
|
|
addKeyPressedEvent(KeyEvent.VK_S, e -> plane.setY(plane.getY() + 20));
|
|
addKeyPressedEvent(KeyEvent.VK_W, e -> plane.setY(plane.getY() - 20));
|
|
addKeyPressedEvent(KeyEvent.VK_C, e -> new Thread(() -> {
|
|
try {
|
|
ImageIO.write(getScreenCut().getImage(), "png", new File("截屏" + cnt++ + ".png"));
|
|
} catch (IOException ignored) {
|
|
System.out.println("车祸现场");
|
|
}
|
|
}).start());
|
|
}
|
|
|
|
Random random = new Random(System.currentTimeMillis());
|
|
|
|
@Override
|
|
public void onRefresh() {
|
|
if (timer.ended()) {
|
|
boss.getAnims().clear();
|
|
boss.addAnim(new SimpleMove(
|
|
random.nextInt(500) - (int) boss.getX(),
|
|
random.nextInt(500) - (int) boss.getY()));
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// 苟利国家生死以,岂因祸福避趋之!
|
|
// 祝长者生日快乐!
|
|
|
|
|