在JavaFX中获取列表的下一个元素

时间:2017-11-02 18:23:50

标签: java arrays javafx

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

  

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

如果您的意思是在单击图块时循环使用一系列预定义颜色。这就是你能做的:

//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中应用相同的逻辑。