0

MonoTouch での Game Center の統合に問題があり、Game Center のサインイン ビューが読み込まれますが、現在読み込まれているテクスチャが消去されます。PresentModalViewController の行をコメント アウトすると、ゲーム センターのサインイン フォームは表示されませんが、既に読み込まれているテクスチャはメモリに残り、機能します。次のコードを使用して、ゲーム センター ビューを表示しています。

    GKLocalPlayer.LocalPlayer.AuthenticateHandler = (ui, ErrorCode) =>
        {
            if (ui != null) {
                Debug.WriteLine ("GK Not authenticated, presenting login");
                PresentModalViewController (ui, true);
            } else {
                Debug.WriteLine ("GK Checking Authentication");
                bool authenticated = GKLocalPlayer.LocalPlayer.Authenticated;

                if (authenticated)
                    Debug.WriteLine ("Game Center Authenticated. " + GKLocalPlayer.LocalPlayer.DisplayName);
                else
                    Debug.WriteLine ("Game Center Not Authenticated. " +  GKLocalPlayer.LocalPlayer.PlayerID + " " + ErrorCode.ToString());
            }
        };

以前にこの問題を見た人はいますか? もしそうなら、ゲーム センターのサインイン ページを表示するが、読み込まれたテクスチャを保持する解決策は何ですか?

4

1 に答える 1

0

これに対する答えが見つかりました。これは、GameCentre ウィンドウが表示されたときに発生する ViewWillDisappear イベントでレンダリング バッファを破棄することを推奨する MonoTouch OpenTK サンプル アプリに関連していました。バッファが破棄されると、テクスチャも一緒に移動するため、ここでの解決策は、ViewWillDisappear イベントでレンダバッファを破棄しないことです (その後、ViewWillAppear で再作成しないでください)。

于 2013-03-13T15:40:22.193 に答える