我有一个游戏,你有一个射击子弹的精灵。我创建了一个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];
,因为它没有显示子弹移动。
那么如果不使用上述内容我怎么能延迟呢?
答案 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