2010-10-30 78 views
0

问题是玩家与blackB碰撞时玩家不会停下来。它慢慢地穿过blackB。 IBAction正在与游戏循环一起使用。我需要一种方式来彻底冻结玩家与blackB相撞时的状态。欢迎任何帮助,我是一名初学者程序员。谢谢!iPhone - CGPointIntersectsRect碰撞问题?

播放机和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;  



    } 

    } 
    } 




}      

} 

回答

0

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

- (IBAction为)右{

如果(playerCanMove == 1){ //移动播放器 }

}

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