3
我知道如何做iPhone的動作已經在這裏問過一百萬次了,但我似乎無法找到任何有關Cocos2D加速計的有用信息。我發現的一切都涉及到使用視圖,我不認爲我在Cocos2D中使用任何視圖,如果我對他們隱藏我認爲。我想知道什麼時候在CCLayer類中發生了任何類型的搖動?如何使用Cocos2D檢測iPhone上的搖晃?
我知道如何做iPhone的動作已經在這裏問過一百萬次了,但我似乎無法找到任何有關Cocos2D加速計的有用信息。我發現的一切都涉及到使用視圖,我不認爲我在Cocos2D中使用任何視圖,如果我對他們隱藏我認爲。我想知道什麼時候在CCLayer類中發生了任何類型的搖動?如何使用Cocos2D檢測iPhone上的搖晃?
我想通了。在圖層類中,您需要放置這些線條;
self.isAccelerometerEnabled = YES;
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:1/60];
shake_once = false;
然後在圖層類中實現該函數;
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
float THRESHOLD = 2;
if (acceleration.x > THRESHOLD || acceleration.x < -THRESHOLD ||
acceleration.y > THRESHOLD || acceleration.y < -THRESHOLD ||
acceleration.z > THRESHOLD || acceleration.z < -THRESHOLD) {
if (!shake_once) {
int derp = 22/7;
shake_once = true;
}
}
else {
shake_once = false;
}
}
shake_once只是一個布爾值,用於阻止一次搖一次的註冊。
謝謝!它像一個魅力! – 2011-02-22 15:23:35
請注意,因爲您正在使用整數,因此「1/60」的值爲0。 (對於0.016結果,請試用'1.0f/60.0f') 另外'isAccelerometerEnabled'已棄用。使用'self.accelerometerEnabled'。 – Jonny 2013-04-11 07:57:34