iphone - Box2D 中的加速度计

标签 iphone cocos2d-iphone

我是 Box2D 新手......

我在CCSprite中有球图像。我想使用加速度计在整个屏幕上移动球...... 告诉我 如何在box2d中使用加速度计?

谢谢...提前

最佳答案

标准的 cocos2d-box2d 模板文件通过应用相对于加速度计值的重力来使用加速度计移动盒子。

  - (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{   
static float prevX=0, prevY=0;

//#define kFilterFactor 0.05f
  #define kFilterFactor 1.0f    // don't use filter. the code is here just as an example

float accelX = (float) acceleration.x * kFilterFactor + (1- kFilterFactor)*prevX;
float accelY = (float) acceleration.y * kFilterFactor + (1- kFilterFactor)*prevY;

prevX = accelX;
prevY = accelY;

// accelerometer values are in "Portrait" mode. Change them to Landscape left
// multiply the gravity by 10
b2Vec2 gravity( -accelY * 10, accelX * 10);

world->SetGravity( gravity );
  }

您需要根据您移动手机的方式更具体地说明您希望球做什么。以目前的形式很难回答您的问题。

关于iphone - Box2D 中的加速度计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617773/

相关文章:

iphone - 两次选择 MapView 注释

ios - 如何将联系人保存到 iOS 中的联系人应用程序中 - Swift

iPhone:突出显示的图像无法与 initWithImage 一起使用

ios - 替换场景继续增加内存使用和内存泄漏如何处理?或者我应该如何在我的项目中启用 ARC

iphone - UIGestureRecognizer 未触发的可能原因?

iphone - 将 iPhone 应用程序更新到新版本时更改应用程序设置

ios - Cocos2d v2.x,无法安装模板。权限被拒绝。我在做傻事吗?

iphone - 将 CCSprite 减速与 ccTime dt 绑定(bind)时出现问题

ios - cocos2d 横向游戏目前纵向 View Controller

cocos2d-iphone - Cocos2d V3 如何改变child的z顺序? reorderChild 在 V3 中不可用