Wintermute Engine Forum

Czech forum => Technické fórum => Topic started by: !Errorcode! on November 08, 2015, 11:28:39 PM

Title: Viac zvukov hrá zárove
Post by: !Errorcode! on November 08, 2015, 11:28:39 PM
Vedeli by ste ktosi poradiť, ako jednoducho urobiť v hre, aby sa dabing hlavnej postavy neprekrýval? Po kliknutí na predmet sa v hre prehrá dabing pomocou Game.PlaySound(); Niekedy ale počas hovorenia - prehrávania zvuku dabingu kliknem na iný predmet, kde sa má prehrať iný dabing a zvuky sa prekrývajú. Starý dabing nedohral a nový sa naraz s ním prehráva. Teda postava ,,kecá" 2 nahrávky naraz.
Title: Re: Viac zvukov hrá zárove
Post by: NAItReIN on November 09, 2015, 12:23:57 AM
Prečo používaš na prehratie dabingu metódu
Code: WME Script
? Riešenie je jednoduché. Použi metódu
Code: WME Script
  1. Talk(Text, SoundFilename, Duration, TalkStances, TextAlignment)
. Pre teba je teda dôležitý parameter SoundFileName. O všetko sa už postará engine.
Title: Re: Viac zvukov hrá zárove
Post by: !Errorcode! on November 10, 2015, 10:22:36 AM
hmm túto metódu ani nepoznám keď mám pravdu povedať :) (Každopádne hru nemám urobenú tak, ako je vo WME demo, kde sa kliká pravým tlačítkom a vyberá talk, look, walk a pod. Dokonca ani actora tam nemám.)
Title: Re: Viac zvukov hrá zárove
Post by: NAItReIN on November 10, 2015, 01:46:49 PM
To vôbec nevadí. Ja som ani raz nerobil projekt, ktorý by používal to okno s ikonami. Metóda, o ktorej hovoríš, že ju nepoznáš, sa volá prostrednictvom objektu, ktorý obsahuje referenciu na hlavnú postavu v hre. Každá prememná vo WME skripte je objektom. Vôbec nezáleží na tom, či to bude globálna premenná s názvom actor, HlavnaPostava a pod. Dôležité je, že sa bude volať metóda
Code: WME Script
  1. Game.LoadActor("CestaNaDefinicnySubor2DPostavy") ;
. Potom môžeš volať už spomínanú metódu Talk. Táto metóda sa môže volať aj prostredníctvom objektu entity. Nikde nie je napísané, že hlavná postava (v zmysle terminológie na tomto fóre actor) musí mať výzor. Stačí, ak bude priehľadná.
Ak treba tak ti to vysvetlím lepšie, stačí napísať.