2012-05-03 25 views
0

私はiPhoneプログラミングの新機能です。私は現在、ボールスプリットゲームに取り組んでいます。この試合では、私の弾丸がボールボールに当たったときに、私は2つの新しいボールを作りたいと思っています。私の弾とボールはどちらもuiimageviewです。ここでCGRectと複数のCGRectとの衝突

は私のコードです:

if ((CGRectIntersectsRect(bullet.frame,Ball.frame)) && !(ball)){ 
    ball=TRUE; 
    x=Ball.frame.origin.x; 
    y=Ball.frame.origin.y; 
    [self performSelector:@selector(createball)]; 
} 

ここに弾丸が、私はそれがしたいこれら2 uiimageviewの1に当たると、私は、これらの2つのuiimgeviewを作成した後に...

-(void)createball{ 
    if (ball) { 
     imageMove1 = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,50 ,50)]; 
     UIImage *imag = [UIImage imageNamed:@"ball1.png"]; 
     [imageMove1 setImage:imag]; 
     [self.view addSubview:imageMove1]; 
     [ballArray addObject:imageMove1]; 

     imageMove2 = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,50 ,50)]; 
     UIImage *imag1 = [UIImage imageNamed:@"ball1.png"]; 
     [imageMove2 setImage:imag1]; 
     [self.view addSubview:imageMove2]; 
     [ballArray addObject:imageMove2]; 
     ball=FALSE; 
     [self performSelector:@selector(moveball)]; 
    } 
} 

をボール関数を作成しています別の2つのuiimageviewsを作成します。ボール間

for (UIImageView *ball in ballArray){ 
    //check for collision 
    if (CGRectIntersectsRect(bullet.frame,ball.frame)){ 
     //hit 
    } 
} 

チェック衝突:しかし、私は、我々はこれらの新しいuiimageviewのフレームを取得することができますどのように直面している問題...

+2

ようこそStackOverflow。ここで新しくなったので、[FAQ](http://stackoverflow.com/faq)を必ずお読みください。また、ここでは適切な文法とコードの書式設定が必要であり、これは採用者のためのウェブサイトではないことに注意してください。 –

答えて

2

あなたはボールの画像への参照を格納し弾丸反復トラフ配列を移動した後

for (UIImageView *ballOne in ballArray){ 
    for (UIImageView *ballTwo in ballArray){ 
     //check for collision 
     if (CGRectIntersectsRect(ballOne.frame,ballTwo.frame) && ballOne != ballTwo){ 
      //hit 
     } 
    } 
} 
+0

私はNSMutablearrayが同時に4球を持っていて、弾丸で打たれたボールのフレームを取得する方法があります。 – jamil

+0

ボールとボールの衝突をチェックする方法を追加しました。 – Alex

+0

私は私のために働いていません。しかし、私のために働いていない..bcz私の弾丸がimagemove1.thenをヒットする方法をcreateball関数again.andも同じ名前で新しいuiimageviewを作成する方法を呼び出す。imageview2 isまだ画面に.. – jamil