Egyetlen hangeffektus lejátszása, szüneteltetése vagy leállítása

Oldal frissítve :
Oldal létrehozásának dátuma :

Ellenőrzési környezet

Windows
  • Windows 11 esetén
Unity-szerkesztő
  • 2021.3.3f1
Bemeneti rendszercsomag
  • 1.3.0

A tipp előfeltételei

A következő beállításokat előre elvégeztük a tipp leírásának előfeltételeként.

A mintához mellékelt anyagról

A hanghatásokat a következő webhelyekről kölcsönzik.

Hangfájlokról

A következő hangfájlformátumok játszhatók le a Unity szabványos funkcióival: Kérjük, készítse elő előre, mert ezekben a tippekben fogják használni.

  • WAV (.wav)
  • OggVorbis negyed (.ogg)
  • MPEG 3. réteg (.mp3)

További információért tekintse meg a Unity hivatalos dokumentációját.

Információk a hangeffektusok lejátszásáról

A hangeffektusok lejátszásának számos módja van, de itt szeretnénk végigvezetni egy egyszerű módon lejátszani őket a szokásos funkciók használata közben.

A tartalom egy gomb elrendezése, valamint a gombra kattintva történő lejátszás, szüneteltetés és leállítás. Egy tényleges játékban ugyanazt a folyamatot hajthatja végre, mint a gombok.

Először helyezzen el egy gombot a hanghatás lejátszásához az ábrán látható módon.

Adja hozzá az előkészített hangfájlt úgy, hogy bedobja a projektbe.

Ezután adja hozzá az "Audio Source" -t a hierarchiához.

Amikor kiválasztja a létrehozott hangforrást, a Hangforrás összetevő rendelkezik egy hangklippel, amelybe egy hangfájlt húzhat a projektből a konfiguráláshoz.

Egyébként, ha elindítja a játékot, ahogy van, a beállított hanghatás hirtelen lejátszásra kerül. Ez azért van, mert a "Lejátszás a játék kezdetén" be van jelölve. Nem valószínű, hogy a hanghatás hirtelen lejátszásra kerül, ezért hagyja bejelölve ezt az ellenőrzést.

Ezután hozzon létre egy szkriptet. SoundPlayer Hagyja meg a nevet .

A szkript így néz ki:

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 később lesz beállítva a szerkesztőből. Ez az AudioSource az, amely a korábban beállított hanghatással rendelkezik.

AudioSource, és metódusokat, így lejátszhatja, szüneteltetheti és PlayPauseStop leállíthatja őket.

A szkriptet csatolhatja a hangforráshoz, de ebben az esetben az eseményrendszerhez kell csatolnia. Győződjön meg arról, hogy a szkript fel van töltve a korábban létrehozott hangforrással.

Most rendelje hozzá az egyes módszereket a három gomb kattintási eseményéhez.

Ha végzett, futtassa a játékot, és nézze meg, hogy a hangeffektusok lejátszódnak-e.

A lejátszás, a szünet és a leállítás gyakran használt kifejezések, így nem kell részletesen leírni őket, de azt hiszem, a következőképpen működnek.

  • Ha rákattint a lejátszás gombra, a hangeffektus csak egyszer kerül lejátszásra, és a végéig lejátszásra kerül.
  • Lejátszás közben kattintson a szünet gombra a hang lejátszásának leállításához
  • Ha szüneteltetett állapotban rákattint a lejátszás gombra, a hang lejátszása leállított helyzetből történik.
  • Kattintson a leállítás gombra lejátszás közben a hang lejátszásának leállításához
  • Kattintson a lejátszás gombra, miközben megállt az elejétől való lejátszáshoz
  • Ha szünet közben rákattint a stop gombra, feloldja a szüneteltetett pozíciót, és a következő alkalommal, amikor játszik, az elejétől kezdődik.
  • Ha lejátszás közben a lejátszás gombra kattint, az éppen lejátszott hang leáll, és lejátszása elölről kezdődik.

Az AudioSource önmagában történő használatának hátrányai

Van egy megoldás, de ennek a tippnek a következő hátrányai vannak. Ezeket a megoldásokat egy másik tippben tárgyaljuk.

Nem játszható le egyszerre két vagy több azonos hang

Ezt a lejátszás gomb többszöri megnyomásával ellenőrizheti, de az előző hang eltűnik, amikor új hangot játszik le. A hátrányokról beszélve hátrány, de éppen ellenkezőleg, ha ugyanazt a hangot játssza le egymáson, a hangerő nagyon hangos lesz, tehát előny abban az értelemben, hogy megakadályozza. Az előző hang azonban továbbra is eltűnik, így a hang típusától függően természetellenes lesz.

Annyi hangforrással kell rendelkeznie, ahány típusú hangot le kell játszania

Mivel egy AudioSource alkalmazásban csak egy hangklip állítható be, meg kell adnia egy AudioSource szolgáltatást, mivel annyi hangja van, amennyit csak akar. Azt is megteheti, hogy csak egy AudioSource eszközt készít elő, és megváltoztatja a hangklipet, amikor másik hangot játszik le. Természetellenes, mert az előző hang eltűnik azon probléma miatt, hogy két vagy több korábban írt azonos hangot nem lehet egyszerre lejátszani.