0.0 はじめに
スプライトの大きさをSpriteRendererを使って取得します。
1.0 準備
四角いスプライトを1つ用意しました。
横が1のサイズ、縦が2のサイズ、中心は(-0.5, 0.2)です。
<参考情報>
使用した四角のスプライトは100 x 100 px(ピクセル)の画像です。この画像の設定(Sprite Mode)でPixels Per Unitを100に設定しています。これで100 pxはワールド座標で1に相当します。
用意した四角は中心が(-0.5, 0.2)の位置で横の長さが1、縦がなので、右上の角は(0.0, 1.2)の位置にあります(これがbounds.maxです)
2.0 Spriteのサイズを取得する
SpriteRendererのboundsが使えます。サイズや場所はワールド座標です。
Test.cs
GameObject sqObj = GameObject.Find("Square"); // 目的のスプライトのオブジェクトを取得
SpriteRenderer sqSr = sqObj.GetComponent<SpriteRenderer>(); // 目的のスプライトのSpriteRendererを取得
Debug.Log("四角のサイズは " + sqSr.bounds.size + " です"); // 四角のサイズは (1.0, 2.0, 0.2) です
Debug.Log("四角の横の長さは " + sqSr.bounds.size.x + " です"); // 四角の横の長さは 1 です
Debug.Log("四角の縦の長さは " + sqSr.bounds.size.y + " です"); // 四角の縦の長さは 2 です
Debug.Log("中心からの距離は " + sqSr.bounds.extents + " です"); // 中心からの距離は (0.5, 1.0, 0.1) です
Debug.Log("四角の中心の座標は " + sqSr.bounds.center + " です"); // 四角の中心の座標は (-0.5, 0.2, 0.0) です
Debug.Log("四角の右上の座標は " + sqSr.bounds.max + " です"); // 四角の右上の座標は (0.0, 1.2, 0.1) です
Debug.Log("四角の右上の座標は " + sqSr.bounds.min + " です"); // 四角の右上の座標は (-1.0, -0.8, -0.1) です
↧