ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

一定値以上の入力があったときに反応する

パッドのスティックの入力で、一定以上入力したら反応するようなとき、オンオフだけなら、入力値が一定値を超えたか判定するだけでよいが、どのくらいスティックが倒されているかも取得したい場合。
入力が0から1の値を取り、反応する最小値より小さいときは結果は0で、最小値から1の入力があったとき、結果が0から1の値となるような処理は次の通り。

float input; // 入力 0->1
float min; // 最小値 0->1
float result = max( (input-min) / (1.0f-min), 0.0f );

入力と最小値の差を、最大と最小の差で割れば求められるが、入力が最小より小さいとマイナスになってしまうので、そこをmaxを使って0にしている。