【问题标题】:Getting the next element of a list in JavaFX在 JavaFX 中获取列表的下一个元素
【发布时间】:2017-11-02 18:23:50
【问题描述】:

我正在编写一个小游戏,它使用具有特定颜色的瓷砖网格。颜色存储在一个数组中。如果用户单击它,我如何实现磁贴的颜色切换?有没有办法可以“无限地”通过数组进行交互,还是有更好的选择?

【问题讨论】:

  • 切换颜色是什么意思?你的意思是用相邻的瓷砖交换颜色吗?你能详细说明iterate "infinitely" through the array吗?
  • @user3437460 该图块应将其颜色更改为已预定义数组中的下一个颜色。

标签: java arrays javafx


【解决方案1】:

如果用户点击它,我如何实现磁贴的颜色切换?有没有办法可以“无限地”通过数组进行交互,还是有更好的选择?

如果您的意思是在单击磁贴时循环显示一系列预定义的颜色。这是你可以做的:

//Example
Color[] colors = {Color.RED, Color.GREEN, Color.BLUE};
int idx = 0;    

//on click, perform the following
tile.setColor(colors[(idx+1)%colors.length]);

修改递增的颜色索引确保颜色循环。

您可以在 JavaFX 中应用相同的逻辑。

【讨论】:

    【解决方案2】:

    一种方法是让您的 Tile 类包含一个静态颜色数组,以及一个指示该实例颜色索引的实例变量。

    然后用于单击 Tile 实例的动作侦听器将检索该图块的颜色索引,增加索引(使用适当的 mod 包装),并将图块的颜色设置为新索引。

    【讨论】:

      猜你喜欢
      • 2011-12-31
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      • 2020-07-31
      • 1970-01-01
      • 2019-04-19
      相关资源
      最近更新 更多