根据碰撞速度调整声音效果的音量

| 我将Cocos2D和Box2D一起使用来创建一个简单的物理游戏。我想根据碰撞物体的速度调整碰撞声效果的音量。身体碰撞时运动的速度越快,声音就越大。我正在使用SimpleAudioEngine库,该库具有带有gain参数的playSound方法。有没有一种方法可以将碰撞物体(b2Body对象)的速度转换为可以应用于增益的0到1之间的值?     
已邀请:
后解函数中得到一个脉冲值,也许除以100?我不确定您获得的冲动程度是多少。
void PostSolve(b2Contact* contact, const b2ContactImpulse* impulse)

{
    b2Fixture* fixtureA = contact->GetFixtureA();
    b2Fixture* fixtureB = contact->GetFixtureB();

    void* userDataA = fixtureA->GetBody()->GetUserData();
    CCNode *myActorA = (CCNode*)userDataA;
    void* userDataB = fixtureB->GetBody()->GetUserData();
    CCNode *myActorB = (CCNode*)userDataB;

            // stuff above will allow you to work out which objects are hitting each other

            // get the impulse
        int impulseInt = impulse->normalImpulses[0];

}
    

要回复问题请先登录注册