私は単調で演奏し始めました。しかし、私は座標系の周りに私の心を得ていない。私は様々な質問/答え、文書、チュートリアルを見ました。私がドキュメントを読むとき、世界、ビューポート、スクリーンコーディネートが理にかなっています。しかし、私はそれらを使用しようとすると、結果は完全に私にとって驚くべきことです。それで私は基本的に何かが欠けていると思う。誰かが私を助けてくれますか?左下隅にスプライトをプログラムで配置できません
ここに私がやろうとしていることがあります。私はMxNのサイズのボード上にX枚の作品を持つゲームを作ろうとしています。私はPROGRAMMATICALLY作品を配置したいと思います。だから、私は(0,0)のスクリーン座標にピースを置くと、左下隅にピースがあると思う。しかし、驚いたことに、作品はほぼボードの中央に配置されます。なぜ私は理解できませんでした。
は、ここに私のコードです:
Vector3 BottomLeft = new Vector3 (0, 0, 0);
GameObject token = Prefabs[0];
GameObject go = Instantiate (token, BottomLeft , Quaternion.identity);
SpriteRenderer renderer = go.GetComponent<SpriteRenderer>();
renderer.sortingLayerName = "Foreground";
renderer.sortingOrder = 0;
以下、上記のコードの出力です:
1は、その部分が中央に配置されて見ることができるように。私は座標を「標準化」していないことをよく知っています。コードのバージョンの下世界画面ポイントを変換座標:
Vector3 BottomLeft = new Vector3 (0, 0, 0);
GameObject token = Prefabs[0];
GameObject go = Instantiate (token, Camera.main.ScreenToWorldPoint(BottomLeft), Quaternion.identity);
SpriteRenderer renderer = go.GetComponent<SpriteRenderer>();
renderer.sortingLayerName = "Foreground";
renderer.sortingOrder = 0;
をしかし片を左にわずかに配置し、ダウンしているが、結果は、まだ最初のものと幾分類似しています。
私は下のコーナーを残したが、それがないことを配置する作品を期待していました。私は間違って何をしていますか?
ありがとうございます。
EDIT:
を次のように私はまた、startメソッドでは、コードでそれを設定しようとしました::(してくださいません
以下は、私が使用していたカムのデフォルト設定であります私は、行のいずれかを試してみましたが、結果は同じであること:[)
// defaultCamera.transform.position = defaultCamera.ScreenToWorldPoint(new Vector3 (Screen.width/2f, Screen.height/2f, 0f));
// defaultCamera.transform.position = defaultCamera.ScreenToWorldPoint(new Vector3 (-Screen.width/2f, -Screen.height/2f, 0f));
//defaultCamera.transform.position = new Vector3 (-Screen.width/2f, -Screen.height/2f, -10f);
defaultCamera.transform.position = new Vector3 (0f, 0f, -10f);
返信ありがとうございます@Apfelbox。私はあなたが示唆したことを試みましたが、まだ運がありません。カメラは(0,0、-10)にあります。私のゲームビューは1080x1920に設定されています。この場合、左下の座標は何ですか? (0,0)?または(-screen.width/2、-screen.height/2)? – Alp
私は現在、自分のコンピュータ(ここでは単一性がインストールされています)にいません。私が数時間で家にいて問題がまだ解決されていないとき、私はもう一度その問題を見ていきます - その間に幸運 – Apfelbox
ありがとう..私はそれを感謝します:) – Alp