Java删除对象

标签 java class object greenfoot

我有一个 GameScreen 世界(20 个左右的对象),它按预期放置所有对象。然而,当我得到 GameOver 时,我想成为一个空白 Canvas ,只有背景和一些新对象(几个对象),但是 GameScreen 中的所有现有对象都会保留,我不知道如何停止它或在 GameOver 屏幕上删除它们

public class GameScreen extends World
{
    public GameScreen()
    {
      super(600, 400, 1); 
      prepare();
    }

    private void prepare()
    {
      addObjects.......
    }
}


public class GameLost extends GameScreen
{  
    public GameLost()
    {
      removeObjects(GameScreen);
      prepare();
    }

    private void prepare()
    {
      addObjects...
     }

最佳答案

我很确定您不希望 GameLost 扩展 GameScreen

class GameLost {
   private Background bg;
   public void paint() {
       paint(bg);
   }
}
class GameScreen {
   private Background bg;
   private List<GameObjects>...
   public void paint() {
       paint(bg);
       gameObjects.forEach(go -> paint(go));
   }
}

这样可以轻松地将背景从游戏屏幕移动到游戏结束屏幕,而无需游戏对象。

关于Java删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634193/

相关文章:

java - 自定义 servlet 过滤器谷歌端点

python - python 自定义类与列表等任何其他内置对象有何不同?

java - 如何获取类中所有私有(private)数据成员的名称

java - 使用 JPanel 列表制作表格

swing - 无法使用 OpenJDK 6 和 7 找到 JButton 类

javascript - 从所需的对象文字中访问 `this`?

c++ - 对象集的排序不正确

子对象中的 JavaScript 集群方法

java - 用于创建 Lucene 索引的分析器

php - 调用父类方法