2011-07-05 20 views
0

私はNumbersというイベントがあります。 Fmod Designerでは、イベントはlistenerAngleに応じて異なる番号を再生します。このイベントを3D空間に配置すると、さまざまな音を聞くことができます。これは私が今使っているコードです。それは私のアプリで数字の1つだけを再生します。何か不足していますか?fmodのイベント音を3Dで再生

FMOD_RESULT   result  = FMOD_OK; 
    FMOD_VECTOR   listenerpos; 
    FMOD_VECTOR   forward   = { 0.0f, 0.0f, 1.0f }; 
    FMOD_VECTOR   up    = { 0.0f, 1.0f, 0.0f }; 
    FMOD_VECTOR   vel    = { 0.0f, 0.0f, 0.0f }; 

    result = group->getEvent("Numbers", FMOD_EVENT_DEFAULT, &event); 
     ERRCHECK(result); 

    listenerpos.x = 0.436243; 
    listenerpos.y = -0.43643; 
    listenerpos.z = -6; 

    result = eventSystem->set3DListenerAttributes(0, &listenerpos, &vel, &forward, &up); 
    ERRCHECK(result); 

大変助けになりました!ありがとう!

答えて

0

私はいくつかの行を追加し、作業それを得ました。私は3D世界でイベントを開催しなければなりませんでした。

FMOD_RESULT result = FMOD_OK; 
FMOD_VECTOR listenerpos = { 0.0f, 0.0f, 1.0f }; 
FMOD_VECTOR eventpos  = { 0.0f, 0.0f, 1.0f }; 
float DISTANCEFACTOR   = 2.0f; 

result = group->getEvent("Numbers", FMOD_EVENT_DEFAULT, &event); 
ERRCHECK(result); 

listenerpos.x = 0; 
listenerpos.y = 0; 
listenerpos.z = 0;  

result = eventSystem->set3DListenerAttributes(0, &listenerpos,NULL,NULL,NULL); 
ERRCHECK(result); 

eventpos.x = xPos; // Object's x position on iPhone I move around 
eventpos.z = yPos; 


result = event->set3DAttributes(&eventpos2,&vel); 
ERRCHECK(result); 

result = eventSystem->update(); 
ERRCHECK(result); 

result = ballEvent->start(); 
ERRCHECK(result); 
0

"Numbers"イベントはおそらく2Dですか?それが3Dであることを確認して保証することができますか?

+0

サウンドは3Dですが、これらの行を追加して動作させる必要があります:eventpos.x = xPos;eventpos.z = yPos; 結果= event-> set3DAttributes(&eventpos2、&vel); ERRCHECK(結果)。 –