刚体碰撞瞬间使用setDynamic问题

希望让刚体在碰撞的一瞬间静止

    auto contactListener = EventListenerPhysicsContact::create();
    
    contactListener->onContactBegin = =](PhysicsContact& contact) -> bool
    {
        return true;
    };
    contactListener->onContactPostSolve = =](PhysicsContact& contact, const PhysicsContactPostSolve& solve)
    {
        contact.getShapeA()->getBody()->setDynamic(false);
    };
    _eventDispatcher->addEventListenerWithSceneGraphPriority(contactListener, this);


```


最后出错信息:
Aborting due to Chipmunk error: This operation cannot be done safely during a call to cpSpaceStep() or during a query. Put these calls into a post-step callback.
    Failed condition: !space->locked


有木有大神求解:3:

别在碰撞回调里改变刚体的任何属性,那时候还在碰撞检测阶段。按照Chipmunk的提示,当前的物理空间已经上锁所以不能修改
要修改的话就修改刚体的状态,然后通过update来检测状态是否改变而改变刚体