2010-10-30 47 views
0

Le problème est que lorsque le joueur entre en collision avec le blackB, le joueur ne s'arrête pas. Il continue lentement à travers le blackB. L'IBAction est utilisé avec une boucle de jeu. J'ai besoin d'un moyen de geler complètement le joueur quand il entre en collision avec le blackB. Toute aide est la bienvenue, je suis un programmeur débutant. Je vous remercie!Iphone - CGPointIntersectsRect Problème de collision?

joueur et costume: sont tous deux 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;  



    } 

    } 
    } 




}      

} 

Répondre

0

Trier d'une réponse bâclée, mais dans le code pseudo:

- (IBAction) droite {

if (playerCanMove == 1) { // déplacer joueur }

}

Réglez playerCanMove sur 1 lorsque le jeu se charge et réglez-le sur 0 lors d'une collision.