変数値の切替の部分:
> ( CurrentImageIndex<(3-1) ? CurrentImageIndex+1 : 0 );
の書き方が「何なの?」っていう場合,これをもっと素直(?)に書くなら
コード:
//とりあえず1個次に進める
++CurrentImageIndex;
//でも,有効な値は {0,1,2} だけなので,↑のインクリメントで3になっちゃった場合には 0 に戻す
if( CurrentImageIndex==3 ){ CurrentImageIndex=0; }
とかだ.
こんなのは意味さえわかればどう書いてもよいので,たまたま示した記述例にこだわらなくて良い.
こういう場合に,剰余を用いて
コード:
CurrentImageIndex = ( CurrentImageIndex + 1 )%3;
とか書くのも良く見るが,個人的には好きではない.(何か無意味な演算コストが生じているような気がするので.)
---
言うまでもない話だが,「キーが押されたら」の判定はまともにやるべし.
例えばここを「今現在キーが押されているか」とかいう判断にしてしまうとすっごい勢いで切り替わることになる.
キー状態の変化点を検出するための実装を用意されたい.