スプライトを画面の端に制限しようとしています。Unity マニュアルのこのスクリプトを使用しており、その動きにクランプを追加しました。問題は、画面の境界が解像度ごとに異なることです。ここで「camera.WorldToViewportPoint」を使用する方法がわかりません...私の境界は現在0.1Fと0.9Fであり、実際の画面の境界に置き換えたいか、サイズ。ATM これは機能していますが、スプライトは実際の画面サイズではなく小さな境界で移動しています。助けてください :)
これまでの私のコードは次のとおりです。
public float speed = 10.0F;
public float posX;
public float posY;
void Update() {
Vector3 dir = Vector3.zero;
dir.x = Input.acceleration.x;
dir.y = Input.acceleration.y;
if (dir.sqrMagnitude > 1)
dir.Normalize ();
dir *= Time.deltaTime;
transform.Translate (dir * speed);
transform.position = new Vector3(Mathf.Clamp(transform.position.x, 0.1F, 0.9F),Mathf.Clamp(transform.position.y, 0.1F, 0.9F), 0);
}