【发布时间】:2014-06-20 22:09:01
【问题描述】:
我正在开发一个碰撞游戏,因为对象在屏幕上移动,但由于某种原因,当对象碰撞时它不会返回主菜单。我觉得很好。这里有什么问题?
-(void)Crash {
if (CGRectIntersectsRect(StealthBomber.frame, LargeObstacle1.frame)) {
[self EndGame];
}
if (CGRectIntersectsRect(StealthBomber.frame, MediumObstacle1.frame)) {
[self EndGame];
}
if (CGRectIntersectsRect(StealthBomber.frame, SmallObstacle1.frame)) {
[self EndGame];
}
if (CGRectIntersectsRect(StealthBomber.frame, Grass.frame)) {
[self EndGame];
}
if (CGRectIntersectsRect(StealthBomber.frame, Dirt.frame)) {
[self EndGame];
}
}
-(void)EndGame {
StealthBomber.hidden = YES;
[timer invalidate];
[self performSelector:@selector(NewGame) withObject:nil afterDelay:5];
}
-(void)NewGame {
LargeObstacle1.hidden = NO;
MediumObstacle1.hidden = NO;
SmallObstacle1.hidden = NO;
StealthBomber.hidden = NO;
StealthBomber.center = CGPointMake(32, 92);
StealthBomber.image = [UIImage imageNamed:@"stealthbomber.png"];
startGame = YES;
}
【问题讨论】:
-
在
EndGame、NewGame和Crash中设置断点以查看它们是否被调用过。此外,您发布的代码没有说明返回主菜单。除非这是一个错字,否则您的问题是您从EndGame调用NewGame而不是任何方法应该让您返回主菜单。 -
我在使用 word finder 搜索后解决了这个问题。感谢您的意见。
标签: objective-c xcode