【发布时间】:2012-09-26 22:46:03
【问题描述】:
在我的游戏中,当按下鼠标右键时,你会在地上放置一个物体。所有对象都具有相同的超类(GameObject)。 我有一个名为 selected 的字段,一次将等于一个特定的游戏对象。 单击鼠标右键时,它会检查所选实例是什么以及它如何确定将哪个对象放置在地面上。代码示例: t 是对象将要到达的“槽”。
if (selected instanceof MapleTree) {
t = new MapleTree(game,highLight);
} else if (selected instanceof OakTree) {
t = new OakTree(game,highLight);
}
现在它必须是对象的“新”实例。最终我的游戏将有数百个游戏对象,我不想有一个巨大的 if else 声明。我将如何制作它以便它滚动可能种类的对象,如果它的类型正确,然后创建它的一个新实例......?
当按下 E 时,它将切换选择的类型,并且也是一个 if else 语句。我该怎么做呢?这是一个代码示例:
if (selected instanceof MapleTree) {
selected = new OakTree(game);
} else if (selected instanceof OakTree) {
selected = new MapleTree(game);
}
【问题讨论】:
-
我们正在尝试重制我的世界 :)
-
我喜欢这里的每一篇与 java 和游戏有关的帖子都必须有人说确切的话,也许你可以帮忙而不是这样做。
标签: java object selection instanceof