我现在正在写俄罗斯方块,我有一种方法可以将数字逐个放到屏幕上的相同位置,方法在双击屏幕后开始工作,并在while循环中调用:
while (gameState == gamePlaying) {}
问题在于我不知道如何使moveLeft
或moveRight
方法按UISwipeGesture
工作,甚至只使用按钮,因为虽然丢弃方法有效但我我无法使用任何按钮或手势(如果我理解的话)
那么我怎样才能创建一个比现在使用的方法更高优先级的按钮?!(或者在这种情况下如何使用UISwipeGestures
?)
答案 0 :(得分:1)
我还建议使用NSTimer来安排游戏逻辑。如果您只是想在后台线程中执行操作,以便用户界面不会阻塞,您可以使用例如:
-(void)performGameLogic
{
//Do the game logic
}
-(void)startGame
{
[self performSelectorInBackground:@selector(performGameLogic) withObject:nil];
}
NSTimer变体:
@interface Game
{
NSTimer * timer;
}
-(void)performGameLogic
{
//Do the game logic
}
-(void)startGame
{
timer = [NSTimer scheduledTimerWithTimeInterval: 0.1 target:self selector:@selector(performGameLogic:) userInfo:nil repeats: YES];
}
@end