等待一个循环

时间:2014-06-28 21:34:36

标签: ios objective-c for-loop cocos2d-iphone

我有一个游戏,你有一个射击子弹的精灵。我创建了一个for循环来更新子弹精灵的y位置。

for(int x=0; x<capacity; x++){
int bulletY = 100;
[bullet setPosition:ccp(sniper.position.x, bulletY)];
bulletY = bulletY + addition;
}

但这几乎是瞬间完成的。我想表明子弹在移动。我在循环结束时思考 我可以等一下,但我不能使用

[NSTimer scheduledTimerWithTimeInterval:0.5f 
                                 target:self
             selector: @selector(doSomething:) 
                           userInfo:nil
                            repeats:NO];

因为我没有选择器。我不能使用[NSThread sleepForTimeInterval:1.0f];,因为它没有显示子弹移动。

那么如果不使用上述内容我怎么能延迟呢?

1 个答案:

答案 0 :(得分:0)

声明int bulletY;作为.h文件中的实例变量。制作新的更新方法

-(void) myUpdate:(ccTime)dt
{
    bulletY++;

    [bullet setPosition:ccp(sniper.position.x, bulletY)];

}

像这样调用你的新方法,也许是从init。

[self schedule:@selector(myUpdate:) interval:1.0f]; //1.0f is once per second, change it