キーボードだけでウィジェットを操作する・2
妹「昨日のやつにカーソルの上下移動を付け加えてみたよ。そして一番端からさらに端の方に動かそうとすると、反対側にワープするようにした」
妹「だいたい昨日のと同じだけど、縦横に動くわけだから、兄がモニョモニョ言ってた二次元配列の作り方を参考にして作った」
「考え方はそれでいいと思う。計算に関しては、妹がやったみたいに縦と横の現在位置を変数で持っておく方法と、計算だけで済ます方法がある。計算だけでっていうのは、例えば横に2つ並んでる場合だと、+2で一列進んで、-2で一列戻ることになる。3つ並んでれば+3と-3で」
妹「そう……なのかな? なんかよくわからないぞ」
「計算の順序と変数の作り方が同じだけで、やってることは同じだけどね」
妹「例えば2つ並んでて、今が1だったら、-2したら-1になってしまうのでは?」
「それは2以上の時だけ押せるようとかしたらいいんだよ。二次元配列にしても何かしらの制限はかけるでしょ。そういえば昨日はClampノードだったけど、今日はSelectIntに変わってるような」
妹「Clampノードだと範囲内に収まるようには出来るんだけど、カーソルがはみ出した時のループ処理が出来ないから、今回はSelectIntでループ処理に対応した」
「範囲をオーバーしたかを条件にして、オーバーした時だけSelectIntで反対側の数字をSETしてるんだね」
妹「あとは番号を0から始めたらいいのか1から始めたらいいのか、ちょっと混乱した」
「だいたいのとこは0だと思うよ。ただ横にいくつ並んでる、縦にいくつ並んでるっていうのは、1から数えるかな。紙の上で計算して、どの位置だと何番になるか、なるべきかっていうのを確認していけばいい」
妹「ノードはごちゃごちゃしたけど、何とか考えていた物が作れたと思う」