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