好吧,我最後一次嘗試了這個,它太模糊,所以我會再試一次。我正在製作一個自上而下的透視iPhone遊戲,有一個mainSprite(一個UIImageView),它將與另一個UIImageView相沖突。當它發生時,我希望mainSprite停止移動。基本上創造一堵牆。那有意義嗎?我沒有使用任何框架,如cocos2d。我知道CGRectIntersectWithRect方法,我的問題是我需要在該方法中放置什麼。我沒有任何其他變量,例如速度或速度,只是會在屏幕上移動精靈的按鈕。這是我的代碼。iPhone遊戲開發,碰撞檢測,創造了牆效應
這是用於在屏幕上移動精靈的.m代碼。
-(void)goDown{
mainSprite.center = CGPointMake(mainSprite.center.x, mainSprite.center.y+5);
}
-(IBAction)down{
[self downAnimation];
goDown = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(goDown) userInfo:nil repeats:YES];
if (goDown == nil) {
goUp = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(goDown) userInfo:nil repeats:YES];
}
}
這裏是我已建立了碰撞的方法:
-(void)collision {
if (CGRectIntersectsRect(mainSprite.frame, collisionImage.frame)) {
}
}
幫助將不勝感激。
這很有道理,但你能告訴我如何重置mainSprite位置到其他UIImageView之外嗎? –
你的意思是在另一個之外? – DanZimm
就像mainSprite與UIImageView相撞時,我需要寫什麼代碼才能將mainSprite保留在UIImageView之外,從而創建牆效果? –