Přidejte do projektu s katapultem cihličku, kterou budete moci sestřelit.
https://openjfx.io/javadoc/11/javafx.graphics/javafx/application/Application.html
Místo cihličky vykreslete obrázek 70x30px (můžete si pak zvolit svůj).![]()
public void paint(GraphicsContext gc) {
Image brickImage = new Image(getClass().getResourceAsStream("image.png"));
gc.drawImage(brickImage, x-35, y-15);
}
Při výstřelu testujte vzdálenost objektu Ball od cihličky
public boolean isHit(double a, double b){
return (Math.abs(a-x) menší 35 AND Math.abs(b-y) menší 15);
}
V projektu použijte ObjectManager, který bude ukládat a vykreslovat všechny vykreslované objekty (např. cihličky), které implementují rozhraní Paintable (popřípadě další např. Shootable) a vhodně je zkombinujte. Objekty se začnou vykreslovat po zaregistrování pomocí metody add(Paintable).
public void add(Paintable p){
objects.add(p);
}
Pro ukládání objektů použijte ArrayList
private final ArrayList[Paintable] objects;
A pro vykreslení použijte procházení
Iterator [Paintable] itr = objects.iterator();
while (itr.hasNext()) {
Paintable i = itr.next();
if (i.isHit(x, y)) itr.remove();
else i.paint(gc);
}
Propojení FXML a Java kódu
<br>
//FXML Button fx:id="fire" mnemonicParsing="false" onAction="#firePressed" text="Fire"
@FXML</p>
<p>private void firePressed(ActionEvent e) {<br>
...<br>
}<br>

Domácí úloha
Rozšiřte hru o další prvky a možnosti.