cocos2dx-bullet物理引擎编译的一个问题: Argument value 10880 is outside the valid range

100 阅读1分钟

bullet物理引擎位置在: cocos2d-x/external/bullet

在xcode上编译会遇到一个问题:

Argument value 10880 is outside the valid range [0, 255]

解决办法是:

修改源文件: cocos2d-x/external/bullet/include/bullet/LinearMath/btVector3.h

#define BT_SHUFFLE(x,y,z,w) ((w)<<6 | (z)<<4 | (y)<<2 | (x))

为:

#define BT_SHUFFLE(x, y, z, w) (((w) << 6 | (z) << 4 | (y) << 2 | (x)) & 0xff)

官方的issue有关于这个问题的讨论,在bullet的官方仓库里面也是这样的修改 至于原因,没有必要深究了