Razvoj Računalniških Iger-s6

Embed Size (px)

Citation preview

  • 7/25/2019 Razvoj Raunalnikih Iger-s6

    1/3

    Sklop 6

  • 7/25/2019 Razvoj Raunalnikih Iger-s6

    2/3

    Zvok

    Zvok je zadnje od osnovnih podroij izdelovanja iger v naem pregledu. eprav ga veina obravnavana koncu, ko je e vse ostalo narejeno, lahko s primernimi zvonimi uinki odlono izboljamo

    predstavitev igre. Podobno lahko glasba odloilno pomaga pri vzpostavitvi elenih ob

    utkov priigralcu.

    Ogrodje XNI razlikuje med predvajanjem kratkih zvonih uinkov, ki jih je potrebno im boljuinkovito predvajati, tudi v vedeset instancah naenkrat, in glasbo. Pri slednji obiajno postopnonalagamo podatke (angl. streaming), pozorni pa moramo biti tudi na to, da se naa glasba ne mea stisto, ki jo je morebiti izbral uporabnik sam.

    Zvoni uinki

    Podobno, kot smo v igro dodali slikovne datoteke, v projekt dodamo zvone uinke, obiajno vformatu wav. V igri jih nato naloimo v spremenljivko tipa SoundEffect.

    #import "Retronator.Xni.Framework.Audio.h"

    SoundEffect *soundEffect = [self.content load:@"Filename"];

    Tudi predvajanje je enako enostavno:

    [soundEffect play];

    e elimo nastaviti s glasnost (angl. volume), spremembo viine zvoka (angl. pitch) in kje v stereoprostoru elimo predvajati zvok uporabimo:

    [soundEffect playWithVolume:1 pitch:0 pan:0];

    Pri tem je volume tevilka med 0 in 1, pitch med -1 in 1 (eno oktavo niji do eno oktavo viji zvok) terpan prav tako med -1 in 1 (popolnoma levo do popolnoma desno).

    Temu nainu uporabe pravimo tudi uporabi-in-pozabi (angl. fire-and-forget), saj zgolj sproimo

    predvajanje. e bi eleli med predvajanjem dinamino spreminjati katerokoli od treh nastavitev,moramo najprej ustvariti instanco zvonega efekta:

    SoundEffectInstance *instance = [soundEffect createInstance];

    En efekt lahko namrepredvajamo vekrat simultano. Vsako loeno predvajanje je svoja instanca tegauinka in ji lahko nastavljamo glasnost, viino in usmerjenost.

    Metoda za predvajanje instance je enaka kot naposredno na zvonem efektu:

    [instance play];

    Pred tem ter kasneje lahko vse tri nastavitve spreminjamo direktno kot lastnosti te instance:

    instance.volume = 0.5f;instance.pitch = 0.1f;

    instance.pan = -1;

    Dodatno imamo e nadzor nad predvajanjem z ukazi pause, resumein stop.

    Naloga: zvoki

    Poleg grafike ne smemo pozabiti na drugi del predstavitve sveta, zvok.

    V najosnovneji razliici ob doloenih dogodkih med procesiranjem pravil igre enostavno sproimopredvajanje elenega zvoka. Le-te si pred tem pripravimo, najlaje v komponento singleton, ki zvokeob inicializaciji naloi ter jih ob naih zahtevah predvaja.

    Glasba

  • 7/25/2019 Razvoj Raunalnikih Iger-s6

    3/3

    e namesto datotek wav v projekt dodamo glasbo v formatu mp3, jo bo XNI samodejno naloil vobliki podatkovnega tipa Song:

    #import "Retronator.Xni.Framework.Media.h"Song *song = [self.content load:@"ImeGlasbeneDatoteke"];

    Pesmi predvajamo s statinim razredom MediaPlayer:

    [MediaPlayer playSong:introSong];

    Podobno kot pri instanci zvoka, lahko predvajalnik nadzorujemo e z ukazi pause, resumein stop.

    Za dostop do podatkov o stanju predvajanja ali spreminjanju glasnosti moramo najprej pridobitiinstanco razreda MediaPlayer, ki se uporablja v ozadju (statine metode nam namresamo olajajodelo s poiljanjem teh ukazov instanci):

    MediaPlayer *player = [MediaPlayer getInstance];

    Zdaj lahko pridobimo in nastavimo uporabne stvari:

    NSTimeInterval position = player.playPosition;MediaState state = player.state;player.volume = 0.5f;

    Privzeto se datoteke v formatu mp3 naloijo v objekt tipa Song, datoteke wav pa v objekt tipaSoundEffect. e elimo na primer uvoziti mp3 kot objekt tipa SoundEffect(ali pa wav kot objekt tipaSong), moramo ob nalaganju doloiti ustrezen ContentProcessor:

    #import "Retronator.Xni.Framework.Content.Pipeline.Processors.h"SoundEffect *soundEffect = [self.content load:@"Filename" processor:[[[SoundEffectProcessor alloc] init] autorelease]];

    Naloga: Glasba

    Tako kot pri zvoku je dodajanje glasbe zelo enostavna naloga. V doloene dele igre (meni, igranje)dodajte razline skladbe, ki ste jih pred tem dodali v projekt. Bodite pozorni, da uporabite samoglasbo, za katero imate pravice do uporabe (najbolje je, da je na voljo z licenco Creative Commons,brez zahteve "NoDerivs").