1

そのため、cocos2d の加速度計を使用してスプライトを回転させていますが、回転がまったくスムーズではありません。フィルターを使用する必要があることはわかっていますが、コードに統合する方法がわかりません:

-(id) init
{
self.isAccelerometerEnabled = YES;
    [[UIAccelerometer sharedAccelerometer] setUpdateInterval:1/60];

}

- (void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

ombreoeuf1.rotation = acceleration.y * 90 ;

}

私の英語で申し訳ありませんが、私はフランス人です:/

4

2 に答える 2

2

ローパス フィルターを実装する方法を次に示します。kFilteringFactor良い結果が得られるまで、少し試してみてください。

// Declare an int `accelY` in your class interface and set it to 0 in init
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
    float kFilteringFactor = 0.1;
    accelY = (acceleration.y * kFilteringFactor) + (accelY * (1.0 - kFilteringFactor));
    ombreoeuf1.rotation = accelY * 90;
}
于 2012-04-18T19:16:32.437 に答える
0

滑らかさであなたを助けるかもしれないことの1つは、更新間隔を60ではなく30 fpsに設定することです。そのため、initを次のように更新します。

-(id) init 
{
    self.isAccelerometerEnabled = YES;

    [[UIAccelerometer sharedAccelerometer] setUpdateInterval:1.0/30];
}
于 2012-06-08T02:33:09.607 に答える