Ühe heliefekti esitamine, peatamine või peatamine

Lehekülg uuendatud :
Lehe loomise kuupäev :

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 PlayPauseStop 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.