私はパワーボールと同じ「目標」を持つアプリケーションを作ろうとしています(それが何であるかを知っている人向け;)
プレーヤーが iPhone を左から右に動かすと、ジャイロスコープの値を使用して画像を回転させ、音楽サンプルの速度/ピッチを変更します。
ここに私の問題があります: ジャイロスコープの場合は問題ありません 音楽の場合は問題ありません しかし、アニメーションについてはよくわかりません。
私は NSTimer でこの方法を試しました:
//Start the timer
[timerRotationImage invalidate];
timerRotationImage = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(TimerRotateImage:)
userInfo:nil
repeats:YES];
//Make a picture turn with some angle
uiImageRotate.center = CGPointMake(160, 140);
angleRotation = angleRotation + 0.3;
uiImageRotate.transform = CGAffineTransformMakeRotation(angleRotation);
//For the acceleration/deceleration
[timerRotationImage setFireDate:[NSDate dateWithTimeIntervalSinceNow:timerRotationImage.timeInterval / (uiDurationSlider.value*50)]];
問題は、高速で画像が減速しているように見えることがあります
他の方法/より効率的な方法を教えてください。
今のところ、いくつかの可能性を試しました:
- NSTimer と CGAffineTransformMakeRotation を使用したこのメソッド
- CALayer と CABasicAnimation を使用した別のもの
- 最後に、UIImageView とアニメーション (画像 .jpg の配列) を使用したもの
私がまだできないのは、回転速度を更新する/リアルタイムで変更することです。これらの方法はどれも機能していません =( ここで助けが必要です !