Iphone - CGPointIntersectsRect碰撞问题?

时间:2010-10-30 23:31:53

标签: iphone sdk collision

问题是当玩家与blackB发生碰撞时,玩家不会停止。它慢慢地继续穿过blackB。 IBAction正在与游戏循环一起使用。我需要一种方法在玩家与blackB碰撞时完全冻结玩家。欢迎任何帮助,我是初学者程序员。谢谢!

播放器和blackB都是UIImageViews

- (IBAction)right
{

 direction = kright;
 if (direction == kright) 

 {
  rightMovement = CGPointMake(kMovement,0);          
  blockVelocity.x += rightMovement.x;            
  player.center = CGPointMake(player.center.x + blockVelocity.x,player.center.y);

  if(CGRectIntersectsRect(player.frame, blackB.frame))
  {
   if(player.center.x < blackB.center.x)
   {
    if(blockVelocity.x > 0)
    {blockVelocity.x = zero;     



    }

   }
  }




 }                     

}

1 个答案:

答案 0 :(得分:0)

一个草率的答案,但在伪代码中:

- (IBAction)对{

if(playerCanMove == 1){ //移动玩家 }

}

加载游戏时将playerCanMove设置为1,并在碰撞时将其设置为0。