3
A
回答
1
不應該太難了。只需在你的代碼中的某處處理UIAccelerometerDelegate
類,並根據您通過參數接收的值向– accelerometer:didAccelerate:
回調應用對精靈的更改。
蘋果文檔的委託類可在...
9
杉杉關閉 - 在您的H文件,你需要做以下變量:
UIAccelerationValue accelerationX;
UIAccelerationValue accelerationY;
float currentRawReading;
float calibrationOffset;
還要確保你的h文件有:
@interface myViewName : UIViewController <UIAccelerometerDelegate>
然後在你的.m文件中j烏斯你進口在頂部下面放:
#define kFilteringFactor 0.05
CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI/180;};
CGFloat RadiansToDegrees(CGFloat radians) {return radians * 180/M_PI;};
然後在把你的viewDidLoad函數的.m文件:
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 1.0f/60.0f;
也將添加以下功能,您的.m文件:
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{
accelerationX = acceleration.x * kFilteringFactor + accelerationX * (1.0 - kFilteringFactor);
accelerationY = acceleration.y * kFilteringFactor + accelerationY * (1.0 - kFilteringFactor);
// keep the raw reading, to use during calibrations
currentRawReading = atan2(accelerationY, accelerationX);
float rotation = -RadiansToDegrees(currentRawReading);
targetView.transform = CGAffineTransformMakeRotation(-(DegreesToRadians(rotation)));
//targetView.transform = CGAffineTransformRotate(targetView.transform, -(rotation * 3)); //if you want easing
}
你將不得不稍微調整它基於你的目標是什麼視圖或對象 - 但這就是它。
希望這有助於
邁克爾
0
在加速度計的委託功能只寫代碼 - >>
float angleRadians = atanf((float)X_Position/(float)Y_Position);
float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);
float cocosAngle = 1 * angleDegrees;
sprite.rotation = cocosAngle;
和精靈將得到旋轉到所需角度的變化X_position,Y_Position和angle的值。
Njoy .. :)
相關問題
- 1. iPhone,cocos2d和加速度計
- 2. 使用加速度計在cocos2d中旋轉精靈
- 3. CCSprite旋轉速度非常快使用UIRotationGestureRecognizer的Cocos2D-iPhone
- 4. 檢測iPhone已經使用phonegap旋轉(加速度計)
- 5. Cocos2D和iPhone的加速度計
- 6. Iphone使用加速度計
- 7. 一致的旋轉速度,iOS Sprite Kit
- 8. Cocos2d加速度計風景
- 9. cocos2d +加速度計問題
- 10. Cocos2d加速度計問題?
- 11. cocos2d中的旋轉速度減慢
- 12. 使用加速度計時旋轉設備
- 13. 使用加速度計計算旋轉矩陣
- 14. iphone加速度計:問題旋轉圖像
- 15. Cocos2D:增加Sprite亮度
- 16. Cocos2d - 旋轉Sprite的碰撞檢測
- 17. 的Objective-C使用加速度計(iPhone)
- 18. 使用Socket.io和iPhone加速度計
- 19. 使用PyObjC訪問iPhone加速度計
- 20. Android:如何使用加速度計旋轉我的位圖?
- 21. 使用加速度計在精靈旋轉時彈出精靈
- 22. 使用AnalogController旋轉Sprite
- 23. 如何在Cocos2d iPhone中使用Sprite Sheet?
- 24. 用於加速度計轉換的Android旋轉矩陣
- 25. 如何使用OpenGLes和cocos2d在3D中旋轉Sprite像'Fruit Ninja'
- 26. iPhone編程:加速度計
- 27. Cocos2d:基於加速度計的動畫
- 28. 使用iphone加速計計算在空中投擲時的旋轉次數
- 29. Sprite Kit - 使用加速度計屏幕顯示的玩家
- 30. 用numba加速旋轉矩陣計算
請注意,這是針對普通的iOS應用程序。對於cocos2d,所有CCLayer對象都已符合UIAccelerometerDelegate,您只需設置node.isAccelerometerEnabled = YES,然後像往常一樣創建加速度計:DidAccelerate:方法。請參閱http://www.cocos2d-iphone.org/wiki/doku.php/tips%3ausing_accelerometer_for_sprite_movement然而,您應該仍然可以像Michael O'Brien所示的那樣濾除加速計讀數。有關詳情,請參閱http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents.html – aiham 2012-02-02 00:55:47