2016-05-30 33 views
1

私はPongのようなゲームを持っていますが、あなたは両方のパドルをコントロールし、ボールを境界内に保つことを除いています。すべての解像度では、パドルが画面の高さの1/3になるようにします。したがって、高さ= 900の場合、パドルは300高でなければなりません。何らかの理由で、どこの決議でも機能する方法を見つけられないようです。私はスクリプトを使ってこれを達成する必要があると感じています。ここに私のパドル用のコンポーネントのイメージがあります。Unityの特定の高さにスケーリングする

enter image description here

パドルの高さが常に画面の高さの1/3であるので、私は、一般的な式を必要としています。

ありがとうございました!

答えて

1

は、キャンバスの高さを取得し、これはスクリプトであるキャンバスの高さに等しいyのサイズは3

で割っ持つようにパドルにsizeDeltaを割り当て、あなたはパドルに添付仮定:

public Canvas myCanvas; 

void Start() { 
    float canvasHeight = myCanvas.pixelRect.height; 
    GetComponent<RectTransform>().sizeDelta = new Vector2(GetComponent<RectTransform>().sizeDelta.x, canvasHeight/3f); 
} 
+0

はあります私はそれをキャンバスに入れ、RectTransformerのサイズを変更する必要があると言っていますか? – Luke

+0

パドルにRectTransformコンポーネントが接続されているのを見たので、キャンバス内にあると仮定しました。そうであれば、パドルのRectTransformコンポーネントの幅を変更します。 キャンバスを使用していない場合は、スクリプトを使用してカメラのサイズを取得できます(カメラがすべての画面をカバーしていると仮定します)。 – Cress

+0

SpriteRenderer内の画像またはスプライト用です – Luke

関連する問題