无法实现俄罗斯方块移动方法

时间:2012-04-10 21:47:17

标签: objective-c ios

我现在正在写俄罗斯方块,我有一种方法可以将数字逐个放到屏幕上的相同位置,方法在双击屏幕后开始工作,并在while循环中调用:

while (gameState == gamePlaying) {} 

问题在于我不知道如何使moveLeftmoveRight方法按UISwipeGesture工作,甚至只使用按钮,因为虽然丢弃方法有效但我我无法使用任何按钮或手势(如果我理解的话) 那么我怎样才能创建一个比现在使用的方法更高优先级的按钮?!(或者在这种情况下如何使用UISwipeGestures?)

1 个答案:

答案 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