cocos2dxRC0 PhysicsSprite和box2d 改变坐标不移动

代码如下:
------init---------------------
m_pSprite = cocos2d::extension::PhysicsSprite::create(“Ball.png”);
b2BodyDef bodyDef2;
bodyDef2.type = b2_dynamicBody;
bodyDef2.userData = m_pSprite;
bodyDef2.position.Set(300 / PT_RATIO, 300 / PT_RATIO);

b2Body *body2 = world->CreateBody(&bodyDef2);

b2PolygonShape dynamicBox2;
dynamicBox2.SetAsBox(.5f,.5f);//These are mid points for our 1m box

// Define the dynamic body fixture.
b2FixtureDef fixtureDef2;
fixtureDef2.shape = &dynamicBox2;
fixtureDef2.density = 1.0f;
fixtureDef2.friction = 0.3f;

// fixtureDef2.isSensor = true;
body2->CreateFixture(&fixtureDef2);
addChild(m_pSprite);
m_pSprite->setB2Body(body2);
m_pSprite->setPTMRatio(PT_RATIO);
m_pSprite->setPosition( Point( 300, 300) );
------------update---------------------
world->Step(delta, 0, 0);

for(b2Body*b = world->GetBodyList();b;b=b->GetNext())
{
    if(b->GetUserData() != nullptr)
    {
        Sprite* temp = (Sprite*)b->GetUserData();
        if(temp)
        {
            CCLOG("b->GetPosition().x :%f  b->GetPosition().y:%f",b->GetPosition().x,b->GetPosition().y);
            temp->setPosition(Point(b->GetPosition().x * PT_RATIO,b->GetPosition().y * PT_RATIO));
        }
    }
}

----------out-----------------------------
cocos2d: m_pSprite pos x:300.000000 y:299.695435
cocos2d: m_pSprite pos x:300.000000 y:298.714783
cocos2d: m_pSprite pos x:300.000000 y:298.076141
cocos2d: m_pSprite pos x:300.000000 y:297.528809
cocos2d: m_pSprite pos x:300.000000 y:296.893158
cocos2d: m_pSprite pos x:300.000000 y:296.168091
cocos2d: m_pSprite pos x:300.000000 y:295.935150
cocos2d: m_pSprite pos x:300.000000 y:295.670288
cocos2d: m_pSprite pos x:300.000000 y:295.396393
cocos2d: m_pSprite pos x:300.000000 y:295.122986
cocos2d: m_pSprite pos x:300.000000 y:294.840027
cocos2d: m_pSprite pos x:300.000000 y:294.555450
cocos2d: m_pSprite pos x:300.000000 y:294.253479
cocos2d: m_pSprite pos x:300.000000 y:293.937225
cocos2d: m_pSprite pos x:300.000000 y:293.618500
cocos2d: m_pSprite pos x:300.000000 y:293.294495
cocos2d: m_pSprite pos x:300.000000 y:292.099152
运行不报错,界面也能显示出来,但是这个PhysicsSprite在屏幕中根本不动。debugdraw 那个body也能一直往下走,帮忙看看是哪写错了吗?

我估计是我的问题太2了,没人愿意回答。结贴。

目前是这样的哦,必须自己手动移动PhysicBody的坐标,设置Sprite的位置没有关联到物理的位置