Попытка удалить прямоугольник Hitbox из игры, созданной в JavaFX, но она не работает - PullRequest
0 голосов
/ 21 ноября 2019

Я довольно новичок в программировании на 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 добавляются, но хитбоксы с первого уровня все еще сохраняются, за исключением того, что они невидимы. Удаляет ли очистка панели фактические объекты прямоугольника или она просто не отображает их на панели? Если это последнее, как бы я на самом деле удалил объекты прямоугольника с панели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...