如何有效管理数百个实体?

时间:2019-09-25 22:25:59

标签: java resources lwjgl slick2d

好的,所以我很想提出一个解决此问题的好方法。因此,我正在使用slick2d用Java创建一个RPG自上而下的生存游戏。在生成游戏中的物品时,我遇到了问题。管理数百个项目的最佳方法是什么?我有一个子类,称为PickUpItems。例如,当一棵树被玩家摧毁时,它会生成一个PickUpItem,它只是一个带有矩形框的图像用于碰撞。什么是最好的方法来选择要生成的物品,而不必为每个交互式物品(树,灌木,农作物等)建立数百个类。我应该参加项目经理班吗?给定名称它将搜索一个文本文件以获取所需的参数并创建一个Object呢?

public void spawnPickUpItem(String type,int x,int y)     {         PickUpItem pickUpItem = null;

    switch(type)
    {
        case"Log":
            pickUpItem = new PickUpItem(type,logImage,x,y,this);
        break;
        case"Flint":
            pickUpItem = new PickUpItem(type,flintImage,x,y,this);
        break;
        case"Rock":
            pickUpItem = new PickUpItem(type,rockImage,x,y,this);
        break;
    }

这是我当前的尝试,它能够生成必要的物品,但是想象一下运行一个带有数百种情况的switch语句,您需要在游戏中生成每个物品。我相信有人可以帮忙..谢谢您

1 个答案:

答案 0 :(得分:0)

您可以遵循df <- structure(list(`23-07` = c("150", NA, NA, NA, NA), `23-09` = c(NA, "200", NA, NA, NA), `23-08` = c(NA, NA, "300", NA, NA), `23-10` = c(NA, NA, NA, "500", "600"), ID = c("1", "2", "3", "4", "5"), Sire = c("John", "James", "Josh", "Peter", "Peter"), trait1 = c("10", "15", "60", "80", "90"), trait2 = c("5", "2", "1", "0", "8")), row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame")) 模式

Factory Method