【Unity】2048ピース移動の実装(その2)
2019/10/9追記・一部修正
ある程度、準備ができたので、
移動用の計算関数を導入して行こうと思います。
移動の処理は以前作った物を流用するのですが、
Moveがtrueの時に+15のtransformを行っており、
移動するマス数が分かっても、数値を直接入力する事が出来ません。
マス移動をPosition変数から座標を読み取っても、
移動処理を書き直さなくてはダメです。
非常に面倒なので、ここでMathf.Clampを利用したいと思います。
右移動のコマンドを例に
posX = Mathf.Clamp(transform.localPosition.x + 15, Min, Max);
現座標+15が移動スピード
Minが最小座標
Maxが最大座標
設定では、
Min=-150;
Max=150;
としているのですが、
この大小値にマス移動の数値を代入してやります。
例えば、Position0にあるピースが計算で2マス移動すると出た場合、
Max=50;としてやれば、それ以上は動かない事になります。
これを元に移動マスの計算を導入してみます。
まず、
private const float Min = -150; //移動範囲下限
private const float Max = 150; …