2014-03-24 101 views
0

我正在做一個單視圖遊戲演示,像牆壁遊戲的迷宮。玩家將用UIButton控制角色。創建簡單的迷宮遊戲的牆壁

基本上我已經設計出我將需要檢查,如果在下一步中,角色將與牆相交,角色移動將返回錯誤。但是,我似乎無法將它們放在一起。

我現在有這個布爾函數來檢查,如果字符會與牆壁

-(Boolean) checkCollision : (CGRect) newFrame{ 
CGRect frame = self.mainchar.frame; 
frame.origin.x = self.currentPoint.x; 
frame.origin.y = self.currentPoint.y; 

for (UIImageView *image in self.hardwalls) { 

    if (CGRectIntersectsRect(frame, image.frame)) { 
     return true; 
    } 
} 
return false; 

}相交

我對運動的UIButton是

-(IBAction)CharMovingLeft:(id)sender; { 
CGPointMake(mainchar.center.x -charmovement, mainchar.center.y); 

我應該是什麼添加到按鈕方法中,以便在交叉點發生時停止此移動?

在此先感謝

回答

0
-(IBAction)CharMovingLeft:(id)sender { 

    CGRect newFrame = YOUR_CHARACTERS_FRAME_IF_IT_MOVED; 

    if (![self checkCollision:newFrame]; 
     //MOVE CHARACTER: 

    } 

    else 
     //DONT MOVE CHARACTER 
} 

這是否會做......?