我遇到了一個關於在cocos2d/box2d中定位物體的奇怪問題。box2d b2_staticBody位置問題
如果我設置b2BodyDef類型爲b2_staticBody,我不能在PTM_RATIO的乘法器中的任何位置設置主體。讓我來解釋:
#define PTM_RATIO 32.0
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(320.0/PTM_RATIO, 320.0/PTM_RATIO);
...
和
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(333.0/PTM_RATIO, 333.0/PTM_RATIO);
...
給出了相同的結果。位置沒有變化。 13像素的差異意味着什麼。
如果我比PTM_RATIO更重要,它會出現1 PTM_RATIO(32px)。
例如:
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(358.0/PTM_RATIO, 358.0/PTM_RATIO);
...
38px的Diffrence,但只出現32PX(1 PTM_RATIO)的距離。
我嘗試使用直接值,如1.0和1.1 它沒有奏效。我無法擺脫PTM_RATIO的乘數。
再一個提示,如果我使用b2_kinematicBody作爲類型,它的工作原理是完美的。
有什麼想法?
,並通過調試器顯示什麼樣的地位? – Andrew 2011-06-02 04:01:06
320.0和333.0都出現在320上。358.0出現在352 – erkanyildiz 2011-06-02 12:26:30