Я довольно новичок в программировании на Java и сейчас пытаюсь создать игру. Пока что я могу переключаться между уровнями, однако на панели все еще будут существовать хитбоксы с предыдущего уровня, но они не будут отображаться. Код для этого раздела игры находится здесь:
private void switchLevel(int l) {
switch (l) {
case 1:
this.level = new Level1();
break;
case 2:
this.level = new Level2();
this.getChildren().clear();
break;
}
hitBoxes.clear();
mobs.clear();
this.getChildren().addAll(hitBoxes);
background.setImage(level.getImage()); // get the background image
hitBoxes.addAll(level.getWalls()); // get all the wall hitboxes
enemyCount = level.getEnemyCount(); // get the enemy count from the level
chestCount = level.treasureCount(); // get the treasure count from the level
this.getChildren().add(background); // add the lvlMap imageview to scene
this.getChildren().addAll(hitBoxes); // add all the hitboxes for the walls to the scene
this.initTreasure(chestCount); // add the treasure chests for the level
this.initMobs(enemyCount); // initialize our mobs
Как вы можете видеть в приведенном выше коде, я попытался удалить хитбоксы, которые были добавлены на первый уровень, очистив панель с этой строкойкод: this.getChildren().clear();
Когда уровень переключается, хитбоксы для уровня 2 добавляются, но хитбоксы с первого уровня все еще сохраняются, за исключением того, что они невидимы. Удаляет ли очистка панели фактические объекты прямоугольника или она просто не отображает их на панели? Если это последнее, как бы я на самом деле удалил объекты прямоугольника с панели?