1

UiViewControllerに単純なゲーム(Cocos2dなどのゲームエンジンなし)があり、負けたときにゲームを再開するためのボタンがあります。

だから、私が持っているのは

    - (IBAction) restart:(id)sender {
        \\Some incorrect way of reseting my view
    }

私が試してみました

    - (IBAction) restart:(id)sender {
        [self viewDidLoad];
    }

しかし、私のビューに表示されるグラフィックのコピーがいくつかあります...このメソッドを実装する正しい方法は何ですか?

注:私はARCを使用しています。

4

3 に答える 3

1

これはシングルビューアプリケーションのように聞こえます。その仮定で、restartメソッドを作成できますか?このメソッドでは、変数と値が初期化されているか、値があるか、または作成されていないかを確認するだけです。変数を作成する必要があるかどうかを確認するか、単に変数をリセットして「開始」状態を作成する必要があります。

このメソッドを使用して、最初にviewDidLoad内からメソッドを呼び出してゲームを初期化して開始し、リセットするときにそのリセットメソッドを呼び出してゲームをクリアするつもりです。viewDidLoadこれは、ビューが初期化されて最初にロードされるときにのみ実行されることを目的としているため、使用しないでください。

于 2012-10-11T19:57:34.563 に答える
0

ご存知のとおりviewDidLoad:、コードではなく、アプリフレームワークによって呼び出されることを目的としています。

あなたの質問への答えは本当にあなたのゲームの論理に依存します。ビューは、開始状態として何を表示するかを指示する場合を除いて、それ自体をリセットする方法を知りません。

于 2012-10-11T15:38:50.613 に答える
0

最初に戻りたい場合は、View Controllerの新しいインスタンスを作成する必要があります(これにより、ビューが最初から再作成されます)。ボタンのアクションメソッドは、ViewControllerを最初にインスタンス化したクラスに接続する必要があります。これを正確に行う方法は、アプリの構造によって異なります。

于 2012-10-11T16:07:29.820 に答える