1

私は団結するのが初めてです。次のように、スクリプト内から新しいプレハブ GameObject をインスタンス化すると、次のようになります。

GameObject newArrow = (GameObject)Instantiate(arrowPrefab);  
newArrow.transform.position = arrowSpawnTransform.position;

しかし、これはルート階層にオブジェクトを作成しています(NGUIの「UIルート」内ではありません)。(NGUI の) UI-Root の外側にオブジェクトを追加すると、カメラから遠く離れた場所にオブジェクトが追加され、これも巨大な寸法になります。新しく作成されたプレハブを「UI Root」の下に追加する方法を教えてもらえますか?

また、ネイティブの unity と NGUI に関連するポジショニングとスケーリングについて誰かが教えてくれるとうれしいです。私は懸命に努力していますが、どのオブジェクトをどのサイズで保持すれば、期待どおりに出力されるかわかりません。提供できるヘルプに感謝します。ありがとう !

編集: 新しいプレハブを「UI ルート」内に配置する方法を見つけました: newArrow.transform.parent = gameObject.transform.parent; インスタンス化後。

しかし、それでもスケーリングは巨大です。画面サイズの何倍も大きいです。これで私を助けてください。私は何をすべきですか?

4

2 に答える 2

3

NGUI で UI 要素を操作する場合は、Insantiate を使用しないでください。NGUITools.AddChild(親、プレハブ) を使用します。

于 2014-08-21T08:41:54.913 に答える