0

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

player 和 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;     



    }

   }
  }




 }                     

}
4

1 回答 1

0

有点草率的答案,但在伪代码中:

-(IBAction)对{

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

}

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

于 2010-10-30T23:43:24.803 回答