如何解决根据碰撞速度调整声音效果的音量
| 我将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];
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。