- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Symulator => Wątek zaczęty przez: mechatronik w 30 Września 2007, 22:33:57

Tytuł: Manualne wywołanie zdarzenia dźwiękowego
Wiadomość wysłana przez: mechatronik w 30 Września 2007, 22:33:57
Witam.

Mam pytanie dotyczące wywołania zdarzenia dźwiękowego w scenerii. Otóż załóżmy, że chciałbym manualnie wywołać dźwięk w scenerii dotyczący odjazdu pociągu np: "XXXX Odjazd!" lub gwizdek. Dźwięk miałby być wywołany za pomocą dowolnego klawisza SHIFT + 1 2 3 4 5 6 7 8 9 0.

1. Jaki wpis należałby dodać do pliku scenerii i gdzie by było najlepiej go umieścić? (na początku pliku czy pod koniec?).
2. I jak ten wpis by wyglądał gdybym chciał aby włączenie dźwięku miało się pojawić np: po 60s ?

Pozdrawiam :).
Tytuł: Odp: Manualne wywołanie zdarzenia dźwiękowego
Wiadomość wysłana przez: Mariusz1970 w 01 Października 2007, 00:24:03
1,2)

1) Umieść gdzie chcesz. Najpierw musisz sobie odpowiedzieć na dwa pytania:
a)gdzie w przestrzeni ma być ten dźwięk umieszczony - tutaj najlepiej użyć programu STV, klikamy na tor i odczytujemy jego wspórzędne. Od tego miejsca będzie połowicznie zanikał dźwięk.
b)słyszalny będzie w m, tak jak zadeklarujemy po komendzie node.
deklaracja dźwięu wygląda np tak:
node 1000 0 gadaj_01_1 sound -59 1.5 66 Qum01.wav endsound
gdzie:
1000 po node to ilość metrów słyszalnych ten dźwięk od miejsca deklaracji we współrzędych
Gdy wpisze się -1, to jest max. odległość (parę km)
gadaj_01_1 - to sobie tłumaczę jako komórkę pamięci, pod którą ten dźwięk jest zapamiętany
-59 1.5 66 - współrzędne dźwięku
Qum01.wav dołączony wav o takiej nazwie. Musi być koniecznie umieszczony w katalogu Sound i mieć format 22kHz.
2)Definujemy prezdarzenie np:
event gadaj_01 sound 4.0 gadaj_01_1 1 endevent

gdzie:
gadaj_01 - nazwa zdarzenia, które będziemy wywoływać, aby odtworzyć ten dźwięk
4.0  po sound - ilość sekund po którym jeśli to zadarzenie się wywoła
zostanie odegrany ten dźwięk
gadaj_01_1 - komórka pamięci, którą już zadeklarowaliśmy
1 po gadaj_01_1 - ilość odgrywania tego dźwięku. O ile dobrze pamiętam, to jak wstawiłem liczbę większą od 1, symek się wysypywał.

3)Teraz zrobimy event manualny wywołujący to zdarzenie:
event KeyCtrl01 multiple 1.0 none
gadaj_01
endevent

gdzie KeyCtrl01 - definiowany event poprzez klawisz Shift+1, dla np. Shift+3 to KeyCtrl03
mulitple- to oznacza, że można przypisać wiele (max. 8 zdarzeń) do tego klawisza
1.0 - ilość sekund od momentu naciśnięcia klawisza, do momentu jego wyzwolenia. Jak z tego wynika można czas odgrywania dźwięku regulować dwoma parametrami.
W tym przypadku z chwilą naciśnięcia klawisza po upływie sekundy uruchamia się ten event, a po kolejnych 4 odrywany jest dźwięk
none- brak dodatkowych warunków dla uruchomienia eventu.

Mam nadzieję, iż jasno to wyjaśniłem
Tytuł: Odp: Manualne wywołanie zdarzenia dźwiękowego
Wiadomość wysłana przez: mechatronik w 01 Października 2007, 00:40:24
Serdeczne dzięki :).

można zamknąć.

Zamykam.
Akvin