2017-11-02 8 views
-2

特定の色のタイルのグリッドを使用する小さなゲームをプログラミングしています。色は配列に格納されます。ユーザーがタイルスイッチをクリックすると、そのタイルスイッチの色をどのように実装できますか?配列を介して「インフィニティ」を交渉する方法はありますか?それとも良い選択肢がありますか?JavaFXでリストの次の要素を取得する

+0

色を切り替えるとどういう意味ですか?隣接するタイルと色を入れ替えることを意味しますか?あなたは配列を使って無限に「反復」することができますか? – user3437460

+0

@ user3437460タイルの色は、既に定義済みの配列の次の色に変わる必要があります。 – lvcasco

答えて

0

タイルスイッチの色は、ユーザーがクリックするとどのように実装できますか?配列を介して「インフィニティ」を交渉する方法はありますか?それとも良い選択肢がありますか?

タイルをクリックしたときに一連の定義済みの色を循環することを意味する場合。これはあなたができることです:

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

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

Mod増加したカラーインデックスはカラーサイクリングを保証します。

JavaFXでも同じロジックを適用できます。

0

Tileクラスには静的な色の配列が含まれていますが、そのインスタンスの色のインデックスを示すインスタンス変数もあります。

次に、Tileインスタンスをクリックするアクションリスナーは、そのタイルのカラーインデックスを取得し、適切な改行でインデックスをインクリメントし、タイルの色を新しいインデックスに設定します。

関連する問題