我試圖從ViewA校準我的UIAccelerometer
,但我的遊戲視圖是ViewB。 所以我非常想要實現的是讓用戶在他們身邊玩,我希望我的遊戲表現得像坐在正常位置時玩的一樣。如何校準UIA加速度計?
所以在ViewA我會做一些像這樣?:
float accelX = (acceleration.x - [[NSUserDefaults standardUserDefaults] floatForKey:@"value1"]);
[[NSUserDefaults standardUserDefaults] setFloat:accelX forKey:@"value1"];
然後在我的遊戲類,我會做這在我的UIAccelerometer委託方法?:
float accelX = (acceleration.x - [[NSUserDefaults standardUserDefaults] floatForKey:@"X-Calibrate"]);
//Low Pass Filter
rollingX = (accelX * kFilteringFactor) + (rollingX * (1.0 - kFilteringFactor));
AccelPoint.x += (rollingX*50);
然後我會做像這樣:
mySprite.position = ccp(accelX, yValue);
我做錯了什麼?
謝謝!
編輯:ViewB的新代碼,我現在還需要某種形式的摩擦嗎?
rollingX = (acceleration.x * kFilteringFactor) + (rollingX * (1.0 - kFilteringFactor));
AccelPoint.x += (rollingX*50);
然後在那段代碼之後,我將設置我的對象的位置。
你試過嗎?如果是這樣,你看到了什麼行爲? –
是的,我已經嘗試過,看起來好像根本沒有校準。這是我應該怎麼做的? –