Unity2Dのチュートリアルを見ているのですが、理解できない箇所があります。
第02回 複数の解像度に対応する(引き伸ばす)
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/mobile/02.html
C#
1using UnityEngine; 2 3public class Background : MonoBehaviour 4{ 5 // スクロールするスピード 6 public float speed = 0.1f; 7 8 void Start () 9 { 10 // 画面右上のワールド座標をビューポートから取得 11 Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1)); 12 13 // スケールを求める。 14 Vector2 scale = max * 2; 15 16 // スケールを変更。 17 transform.localScale = scale; 18 } 19 20 void Update () 21 { 22 // 時間によってYの値が0から1に変化していく。1になったら0に戻り、繰り返す。 23 float y = Mathf.Repeat (Time.time * speed, 1); 24 25 // Yの値がずれていくオフセットを作成 26 Vector2 offset = new Vector2 (0, y); 27 28 // マテリアルにオフセットを設定する 29 renderer.sharedMaterial.SetTextureOffset ("_MainTex", offset); 30 } 31}
上記のコードで
C#
1 2// 画面右上のワールド座標をビューポートから取得 3Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1)); 4 5// スケールを求める。 6Vector2 scale = max * 2;
という記述がありますが、「画面右上のワールド座標」に2をかけた値が、なぜ求めたいスケールになるのでしょうか?
理解力不足で恐縮なのですが、どなたかに説明を頂きたく思います。よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。