Scenų perjungimas

Puslapis atnaujintas :
Puslapio sukūrimo data :

Tikrinimo aplinka

Windows
  • Langai 11
"Unity" redaktorius
  • 2020.3.25f1
Įvesties sistemos paketas
  • 1.2.0

Būtinos šio patarimo sąlygos

Šie nustatymai buvo atlikti iš anksto kaip šio patarimo aprašymo prielaida.

Sužinokite, kaip perjungti scenas

Scena yra vadinamoji "scena", tačiau "Unity" žodį "scena" vartoja tokį, koks jis yra, todėl paaiškinsiu jį išraiškos scena.

Scenos dažnai persijungia tarp žaidimo scenų. Pavyzdžiui, jei paleidžiate žaidimą iš pradžios meniu ir prasideda veiksmas, galite galvoti apie tai kaip apie scenos jungiklį. Be to, meniu ekrano atidarymo veiksmas veiksmo metu taip pat bus scenos jungiklis, atsižvelgiant į meniu išraišką.

Toks scenos perjungimas turi būti įgyvendintas "Unity", ir yra daug būdų tai padaryti. Pavyzdžiui, žaidime turėtų būti tik viena "Scena (vienybėje)". Pasikeitus žaidimo scenai, visi ankstesnės scenos objektai yra išmetami, o reikalingi objektai generuojami kitai scenai. Tačiau, nors šio metodo pranašumas yra tas, kad pateikiama tik viena scena, jo trūkumas yra tas, kad reikia programiškai valdyti objektų perėjimus.

Šiame patarime norėčiau įgyvendinti metodą, kaip paruošti tiek "Scenos" failų, kiek yra scenų, ir iš anksto įdėti reikiamus objektus į sceną, kad būtų galima perjungti scenas. Perjungti tikras scenas yra labai paprasta, nes tereikia perjungti scenos failus.

Scenos paruošimas

Pirma, sukurkite įprastą projektą. Daroma prielaida, kad jau paruošėte įvesties sistemos paketą ir sukonfigūravote fotoaparatą.

Šį kartą paruošime du scenos failus ir įgyvendinsime mygtuko paspaudimo operaciją pirmoje scenoje ir perėjimą prie antrosios scenos.

Esama SampleScene scena turėtų būti pavadinta , todėl pakeiskite tai SampleScene1 į .

Tada dešiniuoju pelės mygtuku spustelėkite tuščią projekto sritį ir iš "Sukurti" pasirinkite "Scena". Taip pat galite jį pridėti naudodami + mygtuką, esantį po projekto skirtuku.

Bus pridėtas naujas scenos failas, todėl pavadinkite SampleScene2 jį .

SampleScene1 Dukart spustelėkite, kad atidarytumėte sceną ir įdėtumėte objektą, kaip parodyta toliau. Spustelėję SampleScene2 mygtuką, galite pereiti į , kad maketas būtų tinkamas.

SampleScene2 Dukart spustelėkite, kad atidarytumėte sceną ir įdėtumėte objektą, kaip parodyta toliau. Nesvarbu, ką įdėjote, nes tiesiog norite žinoti, kas pasikeitė.

Sukūrę sceną, meniu atidarykite "File > Build Settings".

Sumažinkite scenas, įtrauktas į SampleScene2 "Build".

Uždarykite kūrimo nustatymus, kai jie bus pridėti, kaip parodyta toliau.

Scenos perjungimo procesas

Scenos perjungimas atliekamas pagal scenarijų, todėl sukurkite scenarijų. Pavadinimas yra savavališkas, tačiau šiuo atveju SceneChange jis yra .

Scenarijus atrodo taip:

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

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

Turinys yra labai paprastas SceneManager.LoadScene ir galite perjungti scenas skambinimo būdais.

Pirmasis argumentas yra scenos, į kurią reikia perjungti, pavadinimas.

Jei nurodysite kaip LoadSceneMode.Single antrąjį argumentą, uždarydami dabartinę sceną galėsite atidaryti tik nurodytą sceną. Taip pat yra parametras, vadinamas tiesiog pridėti LoadSceneMode.Additive sceną, bet šiame straipsnyje to nepaaiškinsiu.

Įrašę scenarijų, SampleScene1 atidarykite ir pridėkite jį prie . EventSystem Tai gali būti bet koks objektas, prie kurio pridedate.

Nustatykite OnClick mygtuko paspaudimo įvykį į objektą, prie kurio pridėtas, kad būtų galima iškviesti SceneChange metodą.

Pabandykite paleisti žaidimą ir pažiūrėkite, ar scena pasikeičia spustelėjus mygtuką.