16/01/14 20:46:11.55 QcoLVpo7.net
>>22
意味不明でしたか…すみません
やろうとしていることは、スプライトのドラッグ時に移動可能範囲を定めたいです。
範囲設定自体は下記で出来ています。
> Mathf.Clamp(現在値, 最小値, 最大値);
例えば画面より小さいサイズのスプライトが画面からはみ出ないようにするためには
> // xの場合 (スプライトの中心±幅の半分で、スプライト全体をはみ出さないようにする)
> 座標最小値 += スプライト幅 / 2
> 座標最大値 -= スプライト幅 / 2
で出来ました。
今は>>20で書いたマップのような、
画面より大きいスプライトの移動制限をかけたいと思っています。
小さいのとは逆で「常にスプライトが画面に収まるように」したいです。
計算としては下記で出来ると考えています。
> // xの場合 (一旦中心に戻して、スプライトと画面の大きさの差分だけを可動範囲にする)
> 座標最小値 += (画面幅 / 2) + (スプライト幅 - 画面幅)
> 座標最大値 -= (画面幅 / 2) + (スプライト幅 - 画面幅)
これが上手く行っておらず、各値をLogで出したところ、
肝心の画面幅やスプライト幅の数値が怪しいことに気づき、
質問した感じです。