EDITORIAL:
プロジェクトをやって、私たちは、必然的に例のUI、UIや動的ロードの多くは非常に重要な問題であるが発生します。動的ロードのUIは、アカウントにUIを設定し、親と子の関係を取る必要があります。通常、私たちは、親子関係を設定するtransform.setparent(変換)を使用します。ここではまだ何も問題ありません。しかし、必要性が第二引数を考慮すると、設定のUI親子関係で起こります。初心者は、多くの場合、UIを使い果たすためには、ロードされたサブUIオブジェクトが欠落したが、明らかに直接UI階層右折した後に設定されています。この問題は、二番目のパラメータに関連しています。
worldPositionStays。だから、これは考える必要もあります。
分析の親オブジェクトの理由UIの設定
UIがロードされ、この搬入工程は、実際には最初のインスタンスのルートパスUIシーンにロードされ、その後、親オブジェクトに提供されます。このプロセスは、その後、ドラッグの親をUIドラッグシーンルートパスを追加する前に、効果は、最終結果が表示され、手動で行うことができます。
理由:このプロセスのルートからのパス上の親オブジェクトに、変換座標を発生します。具体的な解決策と分析は以下を参照してください。
SetParent関数()
まず第一に、ここでの分析のために、この機能に。この関数2は、オーバーロードしました:
worldPositionStays | trueの場合、親相対的な位置、スケールおよび回転は、オブジェクトが前と同じワールド空間の位置、回転、スケールを保つように修正されています。 |
trueの場合、前の位置には、その値をスケーリング、回転量を保つ:旨の公式な説明。そしてNO、ときに、ローカル座標、回転、拡大縮小の保持位置。
直接は、このパラメータの意味を理解することができないかもしれないので、我々は振り返ります。
その結果としての問題
通常、我々は、元の外観を維持するために完成し、子供がオブジェクトを設定する、親子関係を設定します。あなたがサンプルを変更した場合、それはゲームの相互作用により深刻な効果が得られます。親オブジェクトの設定で、非常に深刻な変形があるだろう設定されていない場合は、3Dは比較的良く、UIオブジェクト。
worldPositionStays
比較テストを行うには、このパラメータの影響を次に示します。
テスト・シナリオ:
親オブジェクトとしてスフィア、子供がブロックなどのオブジェクト、パラメータは次のとおりです。
ブロックを選択し、子オブジェクトの変更として見ることができます。
最初のパラメータはtrueです。
効果は同じまま。球状値とそれぞれのローカルブロックを、座標
効果はボックスで見ることができることを確実にするためにボールに変更されませんが、球にそのローカル座標の変化の値が中心に、その効果は前にまだ比較的位置です。
第二引数が偽であります
実際には、あなたは回転のボックスを見ることができますし、スケール値は、ワールド座標系を保存しない元の場所を変更しました。球状値とそれぞれのローカルブロックを、座標
前と同じ値の局所的な値にブロックパラメータから見ることができ、グローバル座標系を確保します。
衝撃を作製以上見ることができます。
UIのための
UIのために、私たちはこの位置関係はまだそれを保持していないキープしたいですか?我々がやっているとき、明らかであるが、親オブジェクトのUIのデフォルトのUIに完了する答え、UI値のプリセット値に保存するには、ローカル座標系です。
ときにシーンが最初のルート・パスにロードされ、ローカルの値の前にUIは、グローバル座標系に座標系。
そしてUI前に、私たちはUIの親オブジェクトに関連して、このような位置を必要とすることを確実にします。
だから、falseに設定する必要があります。
テスト結果:// UIソース牛のチュートリアル
trueに設定:
falseに設定します。
THISSKY出品,原文链接:http://www.cnblogs.com/zhuhongjongy/p/7226386.html