0

問題は、プレイヤーがblackBと衝突したときに、プレイヤーが停止しないことです。それはゆっくりとblackBを通過し続けます。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)right {

if(playerCanMove == 1){//プレーヤーを移動}

}

ゲームのロード時にplayerCanMoveを1に設定し、衝突時に0に設定します。

于 2010-10-30T23:43:24.803 に答える