Siirtyminen näkymien välillä

Sivu päivitetty :
Sivun luontipäivämäärä :

Varmennusympäristö

Windows
  • Windows 11
Unity-editori
  • 2020.3.25F1
Syöttöjärjestelmän paketti
  • 1.2.0

Tämän vinkin edellytykset

Seuraavat asetukset on tehty etukäteen tämän vinkin kuvauksen lähtökohtana.

Lue, miten voit vaihtaa tilanteiden välillä

Kohtaus on niin sanottu "kohtaus", mutta Unity käyttää sanaa "kohtaus" sellaisenaan, joten selitän sen ilmaisukohtauksella.

Kohtaukset vaihtuvat usein pelin kohtausten välillä. Jos esimerkiksi käynnistät pelin Käynnistä-valikosta ja toiminto alkaa, voit ajatella sitä kohtauksen vaihtona. Myös valikkonäytön avaaminen toiminnon aikana on myös kohtauksen vaihto valikkolausekkeesta riippuen.

Tällainen kohtauksen vaihto on toteutettava Unityssa, ja siihen on monia tapoja. Esimerkiksi pelissä pitäisi olla vain yksi "kohtaus (yhtenäisyydessä)". Kun pelikohtaus muuttuu, kaikki edellisen kohtauksen esineet hylätään ja seuraavaan kohtaukseen tarvittavat objektit luodaan. Vaikka tällä lähestymistavalla on se etu, että se tarjoaa vain yhden kohtauksen, sillä on se haittapuoli, että sen on hallittava objektisiirtymiä ohjelmallisesti.

Tässä vinkissä haluaisin toteuttaa menetelmän valmistaa niin monta "Scene" -tiedostoa kuin kohtauksia on ja sijoittaa tarvittavat esineet kohtaukseen etukäteen kohtausten vaihtamiseksi. Vaihtaminen todellisten kohtausten välillä on erittäin helppoa, koska sinun tarvitsee vain vaihtaa Scene-tiedostojen välillä.

Kohtauksen valmistelu

Luo ensin normaali projekti. Oletetaan, että olet jo valmistellut syöttöjärjestelmäpaketin ja määrittänyt kameran.

Tällä kertaa valmistelemme kaksi kohtaustiedostoa ja toteutamme toiminnon napsauttamalla painiketta ensimmäisessä kohtauksessa ja siirtymällä toiseen kohtaukseen.

Nykyisen SampleScene näkymän nimen tulisi olla , joten muuta tämä SampleScene1 arvoksi .

Napsauta seuraavaksi hiiren kakkospainikkeella projektin tyhjää aluetta ja valitse "Kohtaus" kohdasta "Luo". Voit lisätä sen myös projektivälilehden alla olevasta +-painikkeesta.

Uusi kohtaustiedosto lisätään, joten nimeä SampleScene2 se .

SampleScene1 Avaa näkymä kaksoisosoittamalla ja aseta objekti alla esitetyllä tavalla. Kun napsautat SampleScene2 painiketta, voit siirtyä -kohtaan, jotta asettelu voi olla sopiva.

SampleScene2 Avaa näkymä kaksoisosoittamalla ja aseta objekti alla esitetyllä tavalla. Sillä ei ole väliä, mitä laitat, koska haluat vain tietää, mikä on muuttunut.

Kun olet luonut kohtauksen, avaa valikosta "File > Build Settings".

Pudota koontiversioon sisältyviä SampleScene2 kohtauksia.

Sulje koontiversion asetukset, kun ne on lisätty alla olevan kuvan mukaisesti.

Kohtauksen vaihtoprosessi

Kohtauksen vaihto tapahtuu skriptillä, joten luo skripti. Nimi on mielivaltainen, mutta tässä tapauksessa SceneChange se on .

Skripti näyttää tältä:

using UnityEngine;
using UnityEngine.SceneManagement;  // 追加

public class SceneChange : MonoBehaviour
{
  /// <summary>ボタンをクリックしたときに呼ばれます。</summary>
  public void OnClick()
  {
    // 指定したシーンを読み込み他のシーンは削除します
    SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
  }
}

Sisältö on hyvin yksinkertaista SceneManager.LoadScene ja voit vaihtaa kohtausten välillä kutsumalla menetelmiä.

Ensimmäinen argumentti on sen kohtauksen nimi, johon vaihdetaan.

Jos määrität LoadSceneMode.Single toiseksi argumentiksi, voit avata vain määritetyn näkymän ja sulkea nykyisen näkymän. On myös parametri nimeltä yksinkertaisesti lisää LoadSceneMode.Additive kohtaus, mutta en selitä sitä tässä artikkelissa.

Kun olet tallentanut komentosarjan, SampleScene1 avaa se ja liitä se . EventSystem Se voi olla mikä tahansa esine, johon kiinnität.

Määritä OnClick painikkeen napsautustapahtumaksi objekti, johon on liitetty menetelmä, SceneChange jotta menetelmää voidaan kutsua.

Yritä suorittaa peli ja katso, muuttuuko kohtaus painikkeen napsauttamisen jälkeen.