CGPointMake вопрос для iphone? - PullRequest
       25

CGPointMake вопрос для iphone?

1 голос
/ 14 февраля 2010

В моей игре птицы летают в кадре, но я могу заставить их летать только в двух разных направлениях. Если есть 2 птицы, они идут в двух разных направлениях. Если есть 3 птицы, 2 из них идут в одном направлении, а другая - в другом. Я хочу, чтобы птицы случайно шли в четырех разных направлениях. Вверх вправо, вниз вправо, вверх влево и вниз влево, вот мой код.

-(void) AddBirdIntoArray: (int) BirdCount {
 for(int i=0; i< BirdCount ; i++){


  if(appDelegate.enemyselect == 0){

  imgBird[i]=[[UIImageView alloc] initWithImage:firstImage];
  [imgBird[i] setAnimationImages:birdArrayConstant];
  }

  else if(appDelegate.enemyselect == 1){

   imgBird[i]=[[UIImageView alloc] initWithImage:firstImagegreenorange];
   [imgBird[i] setAnimationImages:birdArrayConstant3];
  }

  else if(appDelegate.enemyselect == 2){
   imgBird[i]=[[UIImageView alloc] initWithImage:firstImageblueyellow];
   [imgBird[i] setAnimationImages:birdArrayConstant4];
  }

  else if(appDelegate.enemyselect == 3){
   imgBird[i]=[[UIImageView alloc] initWithImage:firstImagebluewhite];
   [imgBird[i] setAnimationImages:birdArrayConstant2];
  }

  else if(appDelegate.enemyselect == 4){
   imgBird[i]=[[UIImageView alloc] initWithImage:firstImagepinkpurple];
   [imgBird[i] setAnimationImages:birdArrayConstant5];
  }

  else if(appDelegate.enemyselect == 5){
   imgBird[i]=[[UIImageView alloc] initWithImage:firstImagebluegreen];
   [imgBird[i] setAnimationImages:birdArrayConstant6];
  }

  else if(appDelegate.enemyselect == 6){
   imgBird[i]=[[UIImageView alloc] initWithImage:firstImageorangewhite];
   [imgBird[i] setAnimationImages:birdArrayConstant7];
  }

  else if(appDelegate.enemyselect == 7){
   imgBird[i]=[[UIImageView alloc] initWithImage:firstImageredblue];
   [imgBird[i] setAnimationImages:birdArrayConstant8];
  }



  [imgBird[i] setAnimationDuration:1.0];
  [imgBird[i] startAnimating];

  if(i%2==0){
   pos[i]=CGPointMake(-1,1);
  }

  else{
   pos[i]=CGPointMake(1,-1);
  }

  xvalue = arc4random()%250;
  yvalue = arc4random()%250;
  CGRect TempRect = CGRectMake(xvalue ,yvalue , 22 , 22);
  imgBird[i].frame = TempRect;
  [birdImageViewArray addObject:imgBird[i]];
  [self addSubview:imgBird[i]];
  [imgBird[i] release];
  }




 [birdArray release];
}

1 Ответ

1 голос
/ 14 февраля 2010

Я думаю, что это ваши два вектора направления:

pos[i]=CGPointMake(-1,1);
pos[i]=CGPointMake(1,-1);

Два других направления:

pos[i]=CGPointMake(-1,-1);
pos[i]=CGPointMake(1,1);

И, конечно, вместо if / else, основанного на i%2, вы должны использовать переключатель, основанный на:

arc4random()%4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...