Следующий код позволил мне поместить несколько звуков, которые были превращены в события в Fmod Designer, в трехмерный мир Fmod:
FMOD_RESULT result = FMOD_OK;
FMOD_VECTOR listenerpos = { 0.0f, 0.0f, 1.0f };
FMOD_VECTOR eventpos = { 0.0f, 0.0f, 1.0f };
FMOD_VECTOR eventpos2 = { 0.0f, 0.0f, 1.0f };
float DISTANCEFACTOR = 2.0f;
Событие 1 - это один из звуков, которые я хочу разместить в своем 3Dworld:
result = group->getEvent("Event 1", FMOD_EVENT_DEFAULT, &event1);
ERRCHECK(result);
Событие 2 - это другое событие, которое я хочу поместить в тот же звуковой ландшафт:
result = group->getEvent("Event 2", FMOD_EVENT_DEFAULT, &event2);
ERRCHECK(result);
Я помещаю позицию слушателя в центр этого мира:
listenerpos.x = 0;
listenerpos.y = 0;
listenerpos.z = 0;
result = eventSystem->set3DListenerAttributes(0, &listenerpos,NULL,NULL,NULL);
ERRCHECK(result);
Я устанавливаю позицию одного из событий для объекта, который я перемещаю на экране iPhone:
eventpos.x = xPos;
eventpos.z = yPos;
result = event1->set3DAttributes(&eventpos,&vel);
ERRCHECK(result);
Я устанавливаю другое событие в другую позицию:
eventpos2.x = xPos2;
eventpos2.y = yPos2;
result = event2->set3DAttributes(&eventpos2,&vel);
ERRCHECK(result);
Вся система событий и трехмерный мир обновляются с помощью следующих позиций:
result = eventSystem->update();
ERRCHECK(result);
Я запускаю 2 события и слышу, как они перемещаются вокруг слушателя:
result = event1->start();
ERRCHECK(result);
result = event2->start();
ERRCHECK(result);