- Digipeneko laguntzan tutorial bat aurkituko duzue audioa sartzeko. Seguraski, modurik zuzenena izango da, baina nahiko konplikatua da.
- Bestalde, hemen ipiniko dizuet audioa sartzeko modu sinpleago bat. Hori bai, behin audioa martxan ipini dugula buklean jotzeko, jada ez da geratuko level batetik bestera pasatzerakoan... Mugatuagoa da baina azkar egiteko modukoa.
AUDIOAK (.wav)
SOUND eta SOUNDCUE errekurtsoak
dituzu zure proiektuan. Inportatzerakoan, Sound motako objektua inportatu eta aukeretan "GenerateCue=None" ipini. (ikusi irudia)
Orain Music1, Music2, CoinPickup eta ScoreV2 izeneko errekurtsoak izango dituzu Libraryn, Sound izeneko etiketa aukeratzen baduzu, froga jarraitzen ari bazara. Bestela, zuk inportatutako audio artxiboen izenak agertuko zaizkizu bertan.
Froga jarraitzen ari bazara, sortu SoundCue bat soinu bakoitzeko eta SoundCue-ren izena zuk aukeratu adierazgarria izan dadin. Froga honetan, Music1 edo Music2 soinuak jolasean zehar entzungo diren audioak izango direnez, GameCue izeneko SoundCue-a sortuko dugu. Bere ezaugarrietan (Properties) Sounds osagaian "Add SoundEntry..." sakatu eta gehitu dagokion Sound errekurtsoa (Music1 edo Music2) Kasu honetan, "PlayMode=Looping" ipini denbora guztian jotzen egon dadin. Beste ezaugarriak dauden moduan utzi ditzakezu. Entzun nahi baduzu nola geratuko den, "Preview" botoia sakatu.
Beste bi soinuentzako ere, SoundCue bana sortuko dugu:
- IncreasePointsCue: CoinPickUp audioa izango duena Sounds osagaian.
- ChangeLevelCue: ScoreV2 audioa izango duena Sounds osagaian.
Argi dago froga honetan CoinPickUp soinua entzungo dela puntuak lortzen ditugunean (txanponak hartu, etsaiak hil....) eta ScoreV2 audioa entzungo dela level batetik bestera pasatzerakoan, ez? Bi hauetan "PlayMode=Single" ipiniko dugu, hau da, behin soilik jo dadin soinua, errepikatu gabe.
SoundCue batetan, Sound bat baino gehiago sar daitezke jarraian exekuta daitezen, edo aleatorioki... baina gure kasuan ez dugu halakorik egingo.
Space objektua
Jokuetan, Game objektu bat dago beste objektu guztiak barne dituena. Space motako objektu bat dago Game horretan, non osagai desberdinak dauden, haien artean SoundSpace delakoa. Horrek exekutatuko ditu SoundCue-ak ondoko komandoaren bidez:
this.Space.SoundSpace.PlayCue(SoundCue.SoundCueName)
non SoundCueName, exekutatu behar duen SoundCue-aren izena den. Hau, gure kodean non jarriko dugu? Ba soinua entzun beharreko lekuan.
Adibidez, demagun etsai bat hiltzerakoan nahi dugula puntuak gehitu eta "CoinPickUp" soinua entzun dadila. Orduan, etsaiarekin talka egiterakoan, etsaia desagertarazi ondoren, puntu bat gehitu eta "this.Space.SoundSpace.PlayCue(SoundCue.IncreasePointsCue); " komandoa idatziko dugu.(CollisionLogic ZilchScriptean seguruenik)
Edo Level batetik hurrengo levelera pasatzerakoan nahi badugu "ScoreV2" soinua entzun dadila, orduan levela aldatzeko komandoaren ondoren "this.Space.SoundSpace.PlayCue(SoundCue.ChangeLevelCue);" komandoa idatziko dugu, (CollisionLogic ZilchScriptean seguruenik ere.)
MUSIKA JOLASEAN ZEHAR
Modu sinplea (Soinu bera jolas osoan zehar)
Jolasa hasi bezain laister GameCue soinu pista jotzen has dadin, "this.Space.SoundSpace.PlayCue(SoundCue. GameCue);" komandoa idatziko dugu.
Eta hau non? Ba sortu ahal dugu "SoinuaKontrolatu" izeneko ZilchScript bat Space objektuari esleituko dioguna ondoko kodea izango duena:
class SoinuaKontrolatu : ZilchComponent
{
function Initialize(init : CogInitializer)
{
// "GameCue" soinua martxan ipini
this.Space.SoundSpace.PlayCue(SoundCue.GameCue);
Zero.Connect(this.Space, Events.LogicUpdate, this.OnLogicUpdate);
}
function OnLogicUpdate(event : UpdateEvent)
{
if (Zero.Keyboard.KeyIsDown(Keys.Space))
{ //Musika geratu edo jarraitu
this.Space.SoundSpace.Paused=!this.Space.SoundSpace.Paused;
}
if (Zero.Keyboard.KeyIsDown(Keys.PageUp))
{ //Bolumena handitu
this.Space.SoundSpace.Volume+=0.5;
}
if (Zero.Keyboard.KeyIsDown(Keys.PageDown))
{ //Bolumena jeitsi
this.Space.SoundSpace.Volume-=0.5;
}
}
}
Modu ez hain sinplea (Audio desberdina level bakoitzean)
Kasu honetan Soinuaren kudeaketa ZilchScripta erabiliko dugu.
1-Hasi baino lehen Space arketipoa duplikatuko duzu eta kopiari MusicSpace izena ipiniko diozu.
2-Ziurtatu inportatu dituzula jolasean zehar entzun beharko diren soinuak eta SoundCue desberdinak dituzula. (Ipini dezakezu sortutako level bakoitzeko soinu desberdin bat)
3- Deskargatu SoinuarenKudeaketa Content Package eta inporta ezazu zure jolasean.(Resources=>Import Content Package)
Barruan ZilchScript bat aurkituko duzu: SoinuarenKudeaketa.
4- Esleitu script hau Game arketipoari eta konfiguratu Propertyak zuk nahi duzun moduan funtzionatzeko. Irakurri ondo kodea eta uste baduzu aldaketak egin behar dituzula zure jolasera adaptatzeko, egizuz.
Kodea ikusten baduzu, audio bat exekutatzen hasi aurretik konprobatzen da ea MusicSpace arketipoa jada existitzen den eta hala bada hau desagertarazten da eta berriz sortzen da musika berria exekutatzeko. Hau guztia LevelStarted mezua harrapatuz egiten da ziurtatuz level berria jada osorik kargatu dela kodea exekutatzen hasi aurretik.
iruzkinik ez:
Argitaratu iruzkina
Idatzi zure komentarioa. Laster argitaratuko dut. Mila esker!