Pārslēgšanās starp ainām

Lapa atjaunota :
Lapas izveides datums :

Verifikācijas vide

Windows
  • Operētājsistēmā Windows 11
Vienotības redaktors
  • 2020.3.25f1
Ievades sistēmas pakete
  • 1.2.0

Priekšnoteikumi šim padomam

Tālāk norādītie iestatījumi ir veikti iepriekš kā priekšnoteikums šī padoma aprakstam.

Uzziniet, kā pārslēgties starp ainām

Aina ir tā sauktā "aina", bet Vienotība lieto vārdu "aina", kā tas ir, tāpēc es to paskaidrošu ar izteiksmes ainu.

Ainas bieži pārslēdzas starp spēles ainām. Piemēram, ja sākat spēli no sākuma izvēlnes un darbība sākas, varat to uzskatīt par ainas slēdzi. Arī izvēlnes ekrāna atvēršanas darbība darbības laikā būs arī ainas slēdzis atkarībā no izvēlnes izteiksmes.

Šāda veida ainu pārslēgšana ir jāievieš vienotībā, un ir daudz veidu, kā to izdarīt. Piemēram, spēlē vajadzētu būt tikai vienai "Ainai (vienotībā)". Kad spēles aina mainās, visi objekti no iepriekšējās ainas tiek izmesti, un nepieciešamie objekti tiek ģenerēti nākamajai ainai. Tomēr, lai gan šīs pieejas priekšrocība ir tā, ka tā nodrošina tikai vienu ainu, tai ir trūkums, jo tai ir programmiski jāpārvalda objektu pārejas.

Šajā padomā es vēlētos ieviest metodi, kā sagatavot tik daudz "Ainas" failu, cik ir ainu, un iepriekš ievietot nepieciešamos objektus ainā, lai pārslēgtu ainas. Pārslēgšanās starp faktiskajām ainām ir ļoti vienkārša, jo viss, kas jums jādara, ir pārslēgties starp ainas failiem.

Ainas sagatavošana

Pirmkārt, izveidojiet normālu projektu. Tiek pieņemts, ka esat jau sagatavojis ievades sistēmas paketi un konfigurējis kameru.

Šoreiz mēs sagatavosim divus ainu failus un īstenosim darbību, noklikšķinot uz pogas pirmajā ainā un pārejot uz otro ainu.

Esošā SampleScene aina jānosauc , tāpēc nomainiet to SampleScene1 uz .

Pēc tam ar peles labo pogu noklikšķiniet uz tukša projekta apgabala un atlasiet "Aina" no "Izveidot". To var pievienot arī no pogas + zem projekta cilnes.

Tiks pievienots jauns ainas fails, tāpēc nosauciet SampleScene2 to .

SampleScene1 Veiciet dubultklikšķi, lai atvērtu ainu un novietotu objektu, kā parādīts tālāk. SampleScene2 Noklikšķinot uz pogas, varat pāriet uz , lai izkārtojums būtu piemērots.

SampleScene2 Veiciet dubultklikšķi, lai atvērtu ainu un novietotu objektu, kā parādīts tālāk. Nav svarīgi, ko jūs ievietojat, jo jūs vienkārši vēlaties uzzināt, kas ir mainījies.

Pēc ainas izveidošanas izvēlnē atveriet "File > Build Settings".

Nometiet ainas, kas SampleScene2 iekļautas būvē.

Kad būvējums ir pievienots, aizveriet būvējuma iestatījumus, kā parādīts tālāk.

Ainas pārslēgšanas process

Ainu pārslēgšana tiek veikta pēc skripta, tāpēc, lūdzu, izveidojiet skriptu. Nosaukums ir patvaļīgs, bet šajā gadījumā SceneChange tas ir .

Skripts izskatās šādi:

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

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

Saturs ir ļoti vienkāršs, un jūs varat pārslēgties starp ainām, SceneManager.LoadScene izmantojot zvanīšanas metodes.

Pirmais arguments ir ainas nosaukums, uz kuru pārslēgties.

Ja norādāt kā LoadSceneMode.Single otro argumentu, aizverot pašreizējo ainu, varat atvērt tikai norādīto ainu. Ir arī parametrs, ko sauc vienkārši pievienot LoadSceneMode.Additive ainu, bet es to nepaskaidrošu šajā rakstā.

Pēc skripta SampleScene1 saglabāšanas atveriet to un pievienojiet to . EventSystem Tas var būt jebkurš objekts, kuram pievienojat.

Iestatiet OnClick pogas klikšķa notikumu uz objektam, kam pievienots, SceneChange lai varētu izsaukt metodi.

Mēģiniet palaist spēli un redzēt, vai aina mainās pēc noklikšķināšanas uz pogas.