0

画面の上部からオブジェクトが落ちるというコンセプトに取り組んでいます。この例では、赤い四角、青い四角、緑の四角、黄色の四角の 4 つのオブジェクトがあるとします。

これらすべてのオブジェクトをインターフェイス ビルダーに配置し、.h ファイルで指定された名前に関連付けました。 IBObject UIImageView *greenSquare; 例えば。

「greenSquare」をうまく操作して、ビューの上から下に落としてビューから消すことができました。現在、「greenRectangle」を再作成して、再び落下させたいと考えています。任意の時点で 1 つ以上の同じオブジェクトが落下するため、その 1 つのインスタンスをリセットすることはできません。

最終結果は、いずれかの色の正方形の数 x が表示され、落下します。

これに対する私のワークフローは次のようになると確信しています。

  • 正方形を選ぶ時間を設定する
  • ポジションスクエア
  • 正方形を表示
  • xレートで二乗を落とす

正しい方向へのプッシュは素晴らしいでしょう。みんな、ありがとう!

4

3 に答える 3

2

なぜこれにInterfaceBuilderを使用するのですか?「コードのみ」の実装に切り替えれば、問題ありません。

1) イメージを作成する

UIImage *green = [UIImage imageNamed:@"green.png"];
UIImageView *img = [[UIImageView alloc] initWithImage:green];
[view addSubview:img];

2) 配置する

img.center = CGPointMake(<RANDOM NUMBER>, -30);

3)アニメーション開始
4)底に着いたら外す

[img removeFromSuperview];

5) この img をもう一度一番上に追加します ...

これらの緑色の画像を複数作成したい場合は、一度に複数作成できます。1 つだけで十分な場合はimg、アニメーションが一番下に到達するたびに再利用できます。

編集

UIImageView1 つから複数の を作成する場合は、次のUIImageようにします。

UIImage *img = [UIImage imageNamed:@"green"];

UIImageView *imgView1 = [[UIImageView alloc] initWithImage:img];
imgView1.center = CGPointMake(100, 100);
[self.view addSubview:imgView1];

UIImageView *imgView2 = [[UIImageView alloc] initWithImage:img];
imgView2.center = CGPointMake(100, 500);
[self.view addSubview:imgView2];
于 2012-04-08T07:40:08.267 に答える
0

これが私がしたことです:

.h ファイルで、オブジェクト インスタンスを作成しました。

UIImageView *yellowImage;
UIImageView *greenImage;
UIImageView *orangeImage;
UIImageView *redImage;

UIImage *yellow;
UIImage *green;
UIImage *orange;
UIImage *red;

次に、画像を設定します。

green = [UIImage imageNamed:@"greenball.png"];
yellow = [UIImage imageNamed:@"yellowball.png"];
orange = [UIImage imageNamed:@"orangeBall.png"];
red = [UIImage imageNamed:@"redball.png"];

メソッドを呼び出してタイマーを設定しました。

[NSTimer scheduledTimerWithTimeInterval:(0.5) target:self selector:@selector(onTimer) userInfo:nil repeats:YES];

最後に、onTimer 内で、ボールを選択して次のように作成する乱数を作成します。

greenImage = [[UIImageView alloc] initWithImage:green];
greenImage.frame = CGRectMake(startX,0,43,43);
[self.view insertSubview:greenImage belowSubview:bottomBar];
于 2012-04-11T20:10:09.263 に答える
0

たぶん、長方形が画面の下部に消えたときに、長方形のy位置を画面の上部に戻すことを検討する必要があります。そのため、再作成する必要はなく、再利用できます。ダン

于 2012-04-08T07:33:57.987 に答える