私はゲームを作成していますが、 "障害物"を作成しなくてはなりません。それら。まず、この方法では、私はこのような何か、iPhone Objective C:新しいオブジェクトを生成して返します。古いオブジェクトを生成するようです。
Obstacle newObstacle = [[Obstacle alloc] init];
[newObstacle setFrame:CGRectMake(randX, randY, 50, 50)];
return newObstacle;
をしましたが、いくつかのデバッグした後、私はそれは同じアドレスが呼び出されたたびに、同じオブジェクトを返していましたがわかったので、私は取得できませんでした新しい一意のオブジェクト。私はデバッグしようとしたとき、私はループ内でブレークポイントを置けばこと、
return [[Obstacle alloc] initWithFrame:CGRectMake(randX, randY, 50, 50)];
が、問題はまだそこにあるように思われ、ここでは最良の部分です:
だから、私はにコードを変更しましたこのメソッドが呼び出されているので(それがジェネレータメソッドを呼び出す前に少し休止する)、新しい固有の障害が発生しますが、ループを実行してそれらを生成させると、配列を調べて、それらがすべて同じオブジェクト。
ここで何が起こっているかについての手掛かりはありますか? もっとコードを提供する必要があるかどうか教えてください。
配列に配置するコードを表示します。 –
すべてを生成するループコードを表示できると便利です –
あなたのObstacleクラスはシングルトンクラスではないことを願っています。あなたがそのクラスを書いてそれを確認し、オープンソースのlibであれば、一度コードを読んでください。 – Futur