Ich arbeite an einer einfachen Brettspielimplementierung in JavaFX8.Wie bekomme ich Bildschirm/Szene Mitte x, y von Rectangle innerhalb eines GridPane?
Für das Spielbrett war meine Entscheidung, ein 10x10 GridPane zu verwenden und seine Zellen mit Rectangles in Forms Initialisierungsmethode zu füllen.
private void drawBoard() {
gridpaneBoard.getChildren().clear();
for (int y = 0; y < gridpaneBoard.getRowConstraints().size(); y++)
for (int x = 0; x < gridpaneBoard.getColumnConstraints().size(); x++) {
Rectangle rect = new Rectangle(55,55);
rect.setStroke(Color.BLACK);
Tile tile = GameController.getInstance().getBoard().getTile(x, y);
if (tile.hasBranch())
rect.setFill(QuestionDifficulty.values()[tile.getBranch()
.getQuestion().getQuestion()
.getLevel()].getColor());
else
rect.setFill(Color.WHITE);
gridpaneBoard.add(rect, x, y);
gridpaneBoard.add(new Label(String.valueOf(tile.getNumber())), x, y);
}
}
Um Spieler Token Bewegung nach Würfelrollen zu animieren, dachte ich, ich brauche die Mitte x & Mittelpunkt Y jeder Platte kennen (ein Wegübergang von Quell Fliese Zielkachel zu schaffen).
Ich habe alle möglichen Antworten auf die Fragen anderer Leute ausprobiert, aber alles ergab für mich 0,0.
Dies ist die Container-Hierarchie in dieser Szene:
Dies ist, wie der Ausgang im Moment aussieht:
Wenn GridPane ist in Ordnung für das, was ich bin versuchen zu erreichen, wie kann ich ein Kind (in diesem Fall ein Rechteck) Bildschirm/Szene Mitte x, y bekommen?
Wenn GridPane nicht in Ordnung ist, können Sie mir zeigen auf Alternativen und wie kann ich erreichen, was ich will, dann ..
Thank you!
Sie müssen die CenterX und CenterY kennen, um das Label in Ihrer Rec. Zu zentrieren? –
das könnte eine andere Verwendung für meine Frage sein. aber mein Hauptanliegen ist das Finden der Mitte des Rechtecks für Pfadübergänge. zum Beispiel .. Spieler Spieler Token von Kachel # 4 nach Kachel # 12 bewegen. (Animation hat auch # 5, # 6, # 7, # 8, # 9, # 10, # 11 im Pfad) – ckid
haben das Problem mit der Etikettenausrichtung gelöst, indem einfach auf Zeilen-/Spaltenbedingungen und V/H-Ausrichtung eingestellt wurde zu V/H pos.CENTER. – ckid