0

我最近开始用 Java 创建游戏。对于这个游戏,我创建了一个名为 Tower 的类。在这个类中,我有一些整数变量和一些字符串。现在我想知道是否有办法创建一个新的 Tower 对象来响应鼠标事件。

例如:屏幕上的单击事件应该创建一个新的 Tower 对象(然后将坐标添加到 Tower 对象)。而且,如果您单击屏幕上的其他位置,则会使用新坐标创建另一个 Tower 对象。

我想要这样的东西,因为玩家可以购买多个塔并将它们放置在他或她喜欢的任何地方(这些塔将具有不同的属性)。有没有办法做到这一点?这甚至可能吗?如果没有任何建议:P?

4

2 回答 2

0

尝试这种方法这不是最终和完美的答案,但希望它对您的问题有用

LinkedList<Tower> list = new LinkedList<Tower>();

在鼠标事件上:

list.add(new Tower());
list.get(0).x = 4;
list.get(0).y = 5;
//......
System.out.println("x  = "+list.get(0).x);  
System.out.println("y  = "+list.get(1).y);
于 2013-02-22T20:40:56.657 回答
0

这是一些代码片段,它将生成五个带有 UUID 的塔 - 在 HashMap 中跟踪每个塔(来源 Jack Maney)。

您只需要修改它以从循环onClick()而不是for循环创建。

final class TowerGenerator
{
   private final Map<UUID, Tower> towerMap = new HashMap<UUID, Tower>();

   public void generateFiveTowers()
   {
      for (int i = 0; i < 5; i++)
      {
         final UUID uuid = UUID.randomUUID();
         towerMap.put(uuid, new Tower(uuid));
      }
   }
}
于 2013-02-22T20:45:55.357 回答