私はiPhoneアプリで作業していますが、私のアプリには画面の上から下に移動するオブジェクトがあります。これを行うには、CADisplayリンクを使用します。オブジェクトが画面を離れると、ルートを再開することになっています。私が直面している問題は、オブジェクトがルートを再開するたびに速度が上がることです。これは、オブジェクトが非常に速くなり、ほとんど見えなくなるまで続きます。なぜこれが起こっているのか、そしてそれを止める方法はありますか?助けていただければ幸いです。よろしくお願いします。
-(void)spawnButton{
int x = (arc4random() % (240) + 40;
int y = -100;
button1.center = CGPointMake(x,y);
displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(moveObject)];
[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
}
-(void) moveObject {
int z = 1;
button1.center = CGPointMake(button1.center.x , button1.center.y +z);
if (button1.center.y >= 480) {
[self spawnButton];
}
}