Ühe heliefekti esitamine, peatamine või peatamine
Kontrollimise keskkond
- Windows
-
- Windows 11
- Ühtsuse toimetaja
-
- 2021.3.3f1
- Sisendsüsteemi pakett
-
- 1.3.0
Selle näpunäite eeltingimused
Selle vihje kirjeldamise eelduseks on eelnevalt tehtud järgmised sätted.
Prooviga kaasas oleva materjali kohta
Heliefektid on laenatud järgmistelt saitidelt.
Teave helifailide kohta
Unity standardfunktsioonidega saab esitada järgmisi helifailivorminguid: Palun valmistage see ette, sest seda kasutatakse nendes näpunäidetes.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG kiht 3 (.mp3)
Lisateabe saamiseks vaadake Unity ametlikku dokumentatsiooni.
Heliefektide esitamise kohta
Heliefektide esitamiseks on mitmeid viise, kuid siin tahame teid juhendada lihtsal viisil nende esitamiseks standardsete funktsioonide kasutamise ajal.
Sisu on nupu korraldamine ja mängimine, peatamine ja lõpetamine nupule klõpsates. Tegelikus mängus saate rakendada sama protsessi peale nuppude.
Kõigepealt asetage nupp heliefekti esitamiseks, nagu on näidatud joonisel.
Lisage ettevalmistatud helifail, kukutades selle oma projekti.
Seejärel lisage hierarhiasse "Heliallikas".
Kui valite loodud heliallika, on heliallika komponendil heliklipp, kuhu kukutate oma projektist helifaili selle konfigureerimiseks.
Muide, kui alustate mängu nii, nagu see on, mängib äkki teie seatud heliefekt. Seda seetõttu, et ruut "Mängi mängu alguses" on märgitud. On ebatõenäoline, et heliefekti mängitakse äkki, nii et jätke see kontroll märkimata.
Seejärel looge skript. SoundPlayer
Jätke nimi nimeks .
Skript näeb välja selline:
using UnityEngine;
public class SoundPlayer : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.Play();
}
public void OnClickPause()
{
// オーディオを一時停止します
AudioSource.Pause();
}
public void OnClickStop()
{
// オーディオを停止します
AudioSource.Stop();
}
}
AudioSource
määratakse hiljem toimetajalt. See AudioSource on see, mille heliefekt on varem seatud.
AudioSource
, ja meetodid, nii et saate vastavalt mängida, peatada ja Play
Pause
Stop
peatada.
Skripti saate manustada heliallikale, kuid sel juhul manustate selle EventSystemile. Veenduge, et skript oleks asustatud varem loodud heliallikaga.
Nüüd määrake iga meetod kolme nupu klõpsamissündmusele.
Kui olete lõpetanud, käivitage mäng ja vaadake, kas heliefektid mängivad.
Mängimine, peatamine ja peatamine on tavaliselt kasutatavad terminid, nii et te ei pea neid üksikasjalikult kirjutama, kuid ma arvan, et need toimivad järgmiselt.
- Kui klõpsate esitusnupul, esitatakse heliefekti ainult üks kord ja mängitakse lõpuni.
- Taasesituse ajal klõpsake heli esitamise peatamiseks pausinuppu
- Kui klõpsate pausi ajal esitusnuppu, esitatakse heli peatatud asendist.
- Heli esitamise peatamiseks klõpsake taasesituse ajal stopp-nuppu
- Klõpsake esitusnuppu, kui olete algusest peale esitamiseks peatatud
- Pausi ajal stopp-nupule klõpsamine vabastab peatatud positsiooni ja järgmine kord, kui mängite, on see algusest.
- Kui klõpsate taasesituse ajal esitusnuppu, peatatakse praegu esitatav heli ja seda esitatakse algusest peale.
Ainuüksi AudioSource'i kasutamise puudused
Lahendus on olemas, kuid sellel näpunäidetel on järgmised puudused. Käsitleme neid lahendusi veel ühes näpunäites.
Ei saa esitada kahte või enamat sama heli korraga
Seda saate kontrollida, vajutades mitu korda esitusnuppu, kuid eelmine heli kaob uue heli esitamisel. Puudustest rääkides on see ebasoodne, kuid vastupidi, kui mängite sama heli üksteise peal, on helitugevus väga vali, seega on see eelis selles mõttes, et see takistab seda. Kuid eelmine heli kaob endiselt, nii et sõltuvalt heli tüübist on see ebaloomulik.
Teil peab olema nii palju heliallikaid, kui on esitatavaid helitüüpe
Kuna AudioSource'is saab seadistada ainult ühe heliklipi, peate esitama AudioSource'i, kuna teil on nii palju helisid kui soovite. Samuti saate valmistada ainult ühe AudioSource'i ja muuta heliklippi teise heli esitamisel. See on ebaloomulik, sest eelmine heli kaob probleemi tõttu, et kahte või enamat varem kirjutatud sama heli ei saa korraga mängida.