Skocz do zawartości

im bliżej obiektu,tym glosniejszy dzwiek


Rekomendowane odpowiedzi

Zrób sobie 3 wersje tego samego dźwięku - cicha , średnia i głośna ( głośność możesz edytować w gm'ie ) . Następnie działaj według zasady np

if distance_to_object(xxx) < 100

{

sound_play(soundGlosno)

}

itd

 

Prymitywna , lecz skuteczna wersja ...

pozdrawiam...

Odnośnik do komentarza
Udostępnij na innych stronach

Po pierwsze radzę kożystać z jakiegoś dll od dźwięków, bo po jakimś czasie ten podstawowy system z GMa przestaje być wystarczalny.

 

GML
max_dist=256// Dystans po jakim nie słychać dźwięku

sound_volume(dźwięk,max(0,min(1-point_distance(x,y,gracz.x,ygracz.y)/max_dist,1)))

 

Zamiast max(0,min(x,1)) w 8.1 można użyć nowej funkcji clamp(x,0,1)

Edit: pomyliłem się teraz powinno być ok. ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Po pierwsze radzę kożystać z jakiegoś dll od dźwięków, bo po jakimś czasie ten podstawowy system z GMa przestaje być wystarczalny.

 

GMLmax_dist=256// Dystans po jakim nie słychać dźwięku

sound_volume(dźwięk,max(0,min(1-point_distance(x,y,gracz.x,ygracz.y)/max_dist,1)))

 

Zamiast max(0,min(x,1)) w 8.1 można użyć nowej funkcji clamp(x,0,1)

Edit: pomyliłem się teraz powinno być ok. ;)

 

ooo to jest to !:)

 

tylko jak mam pobrac pozycje x i y gracza?

chodzi o kod typu

 

var xgracza;

xgracza=pobierz pozycje x(nazwa objektu);

Odnośnik do komentarza
Udostępnij na innych stronach

zmienna_player_x=nazwa_obiektu.x

tak samo wszystkie inne zmienne np hp

hp_playera=nazwa_obiektu.hp

jak masz więcej obiektów to nie będzie działać

możesz zrobić:

id_objectu=instance_create(x,y,obiekt)

pozycja_x=id_objectu.x

 

ale to jest bezsensowne, nie potrzeba dodatkowych zmiennych wystarczy nazwa_obiektu.jego_zmienna

Odnośnik do komentarza
Udostępnij na innych stronach

zmienna_player_x=nazwa_obiektu.x

tak samo wszystkie inne zmienne np hp

hp_playera=nazwa_obiektu.hp

jak masz więcej obiektów to nie będzie działać

możesz zrobić:

id_objectu=instance_create(x,y,obiekt)

pozycja_x=id_objectu.x

 

ale to jest bezsensowne, nie potrzeba dodatkowych zmiennych wystarczy nazwa_obiektu.jego_zmienna

 

kriso- dzieki wielkie :)

Odnośnik do komentarza
Udostępnij na innych stronach

napisalem tak

 

 

if not sound_isplaying(snd_robot)sound_play(snd_robot)

max_dist=512// Dystans po jakim nie słychać dźwięku

sound_volume(snd_robot,max(0,min(1-point_distance(x,y,obj_cam.x,obj_cam.y)/max_dist,1)))

 

dzwiek scisza sie i zglasnia w stosunku do odleglosci-dziala fajnie

 

ale dzwiek nie odtwarza sie płynnie tylko jakby"charczy",pozatym gierka sie lekko przycina

juz nie mowiac o haosie jaki powstaje gdy wbiegam w stado objektów wydajacych dzwiek

 

 

dodam ze powyzszy kod zamieszczam w STEP

 

co dalej robic? :(

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...