Comment coder un script pour passer à la scène suivante après avoir gagné une manche? que faire pour passer à la scène suivante lorsque le joueur remporte la manche et non lorsque le bouton de la souris est enfoncé. Je fais principalement référence à ce passage Voici mon code pour la commutation de scène :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class LevelLoader: MonoBehaviour
{
public Animator transition;
public float transitionTime = 1f;
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtDown(0))
{
LoadNextLevel();
}
}
public void LoadNextLevel()
{
StartCoroutine(LoadLevel(SceneManager.GetActiveScene().buildIndex + 1));
}
IEnumerator LoadLevel(int levelIndex)
{
transition.SetTrigger("Start");
yield return new WaitForSeconds(transitionTime);
SceneManager.LoadScene(levelIndex);
}
}
Solution du problème
Tout ce que vous avez à faire est d'appeler LoadNextLevel() lorsque les conditions sont remplies pour charger le niveau suivant. Je pense qu'il faut l'appeler ici:
if (win)
{
yield return new WaitForSecondsRealtime(0.3f);
LoadNextLevel();
}
Aucun commentaire:
Enregistrer un commentaire