0

我正在尝试通过更改文件来做到这一点

游戏配置.h

#define GAME_AUTOROTATION kGameAutorotationNone

应用委托

//#if GAME_AUTOROTATION == kGameAutorotationUIViewController

    [director setDeviceOrientation:kCCDeviceOrientationPortrait];
//#else

//[director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];

//#endif

应用程序切换到纵向模式,但 Box2d 的身体迫使重力向右

4

2 回答 2

5

万一有人需要,我意识到这是一个老话题,但是如果将来有人遇到这个问题,这是我的解决方案:

在 HelloWorldLayer.mm 的加速度计函数中,重力是用这条线设置的

b2Vec2 gravity( -accelY * 10, accelX * 10);

为了在纵向模式下模拟所需的效果,必须将线条重新排序为:

b2Vec2 gravity( accelX * 10, accelY * 10);
于 2012-10-09T08:47:31.387 回答
1

您应该RootViewController.m在第 88 行编辑文件:

return (UIInterfaceOrientationIsLandscape(interfaceOrientation));

并将其更改为:

return (UIInterfaceOrientationIsPortrait(interfaceOrientation));

GAME_AUTOROTATION此设置仅在定义为kGameAutorotationUIViewController时生效GameConfig.h

///////

于 2011-01-18T09:14:19.523 回答