0

基礎となるパネルが移動されたときに、NGUI ウィジェットで実際のコンテンツをレンダリングする際に興味深い問題があります。何らかの理由で、境界が正しい位置にある場合でも、コンテンツ自体が正しい位置に更新されません。最初の画像は本来あるべき姿で、2 番目の画像は下にあるパネルを右から左に移動した後の様子です。ウィジェットの四角形から、それらが正しい場所に配置されていることがわかりますが、コンテンツ (テキストまたはスプライト) が正しく配置されていません。

更新、アンカーの更新などを試みましたが、どれも機能していないようです。何か案は?レンダリングの問題のようです。現在、Unity 4.6 と NGUI 3.7.4 を使用しています。

わかった 良くないですよ

4

2 に答える 2

0

これは NGUI のバグです。これは UIPanel.UpdateTransformMatrix() に関連しており、NGUI3.9.3 または NGUI 3.9.4 で修正されています。

コードブローは私のプロジェクトでうまくいきます:

void UpdateTransformMatrix ()
{
    int fc = Time.frameCount;
    if (cachedTransform.hasChanged)
    {
        mTrans.hasChanged = false;
        mMatrixFrame = -1;
    }

    if (mMatrixFrame != fc)
    {
        mMatrixFrame = fc;
        worldToLocal = mTrans.worldToLocalMatrix;

        Vector2 size = GetViewSize() * 0.5f;

        float x = mClipOffset.x + mClipRange.x;
        float y = mClipOffset.y + mClipRange.y;

        mMin.x = x - size.x;
        mMin.y = y - size.y;
        mMax.x = x + size.x;
        mMax.y = y + size.y;
    }
}
于 2016-01-23T11:19:13.637 に答える