Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Unity 2d script c#

    6 novembre 2019 à 19:28:07

    Bonjour j'ai un problème.

    J'ai essayer de créer un script en C# pour changer de scène lorsque le player rentre dans le box colider 2D mais ça ne marche pas. J'ai suivi la syntaxe de la killzone du standard asset qui utilise la fonction qui m'interrese.

    Mon code:

    using System;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    
    namespace UnityStandardAssets._2D
    {
        public class Restarter : MonoBehaviour
        {
            private void OnTriggerEnter2D(Collider2D other)
            {
                if (other.tag == "Player")
                {
                    SceneManager.LoadScene("level2");
                }
            }
        }
    }

    Version Unity : 2020.1.0a11

    Pour plus de précisions n’hésitez pas

    • Partager sur Facebook
    • Partager sur Twitter
      7 novembre 2019 à 23:40:20

      Bonjour,

      Il est utile de décomposer le code et de vérifier bout par bout si le script fonctionne et comment. Cela peut etre fait avec un Debug.Log ou un print

      Par exemple

      • Est ce que le script se lance ? (on test avec un Debug.Log dans le OnStart()
      • Est ce que la fonction OnTriggerEnter est appelée ?
      • Est ce que le code rentre dans le if ?
      • ...
      Pour ce qui est du script, il a plusieurs raison qui font que cela ne marche pas :
      • 1) Le script n'a pas été mis sur l'objet (c'est con mais ca m'est arrivé souvent)
      • 2) L'objet n'a pas de collider
      • 3) Le collider de l'objet n'est pas un trigger (case trigger a cocher)
      • 4) Le player n'a pas de RigidBody2D
      • 5) Le player n'a pas de tag "Player" (ou il y a un probleme de majuscules ex : "player")
      • 6) La scene "level2" n'a pas été ajoutée à la liste des scenes In Build (Files/Build Settings/ glisser la scene level2 dans sceneInBuild)
      • 7) La scene n'a pas le même nom ex : "Level2"
      • Partager sur Facebook
      • Partager sur Twitter

      Problème Unity 2d script c#

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown