All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotification()

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Niboa2
Messages : 2
Inscription : 22 Oct 2018 19:22

All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotification()

Message par Niboa2 » 22 Oct 2018 19:30

Bonjour, :amen:

Je n'arrive pas a trouver l'erreur dans mon script car cela me marque :
"All compiler errors have to be fixed before you can enter playmode!
UnityEditor.SceneView:ShowCompileErrorNotification()"
Comme je suis débutant sur unity je ne m'en sors pas très bien :pleur4:
(au passage,mon script fait aller un personnage 2D de gauche a droite et le fait sauter)

mon programme :

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class Joueur : MonoBehaviour { 

    public float vitesse = 7.0f;
    private bool isjumping = false;



void FixedUpdate() {
  if (Input.GetKey(KeyCode.Q) || Input.GetKey(KeyCode.LeftArrow))
  {
        Transform.Translate(Vector2.left * vitesse * Time.deltaTime);
        Transform.localScale = new Vector3(-1, 1, 1);
  }
    else if(Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
    {
        Transform.translate(Vector2.right * vitesse * Time.deltaTime);
        Transform.localScale = new Vector3(1, 1, 1);
    }

    if (Input.GetKeyDown(KeyCode.Space))
    {
        if(!isJumping)
        {
            StartCoroutine(Jump());
        }
    }
}

IEnumerator Jump()
{
    isJumping = true;
    GetComponent<Rigidbody2D>().AddForce(Vector2.up * 500);
    yield return new WaitForSeconds(1, 5f);
    isJumping = false;
}
}

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotificati

Message par Liven » 22 Oct 2018 19:44

Il faut que tu regarde dans la fenêtre "console" tu auras la liste des erreurs à corriger. Jette un oeil sur ces messages, tu as un texte qui t'explique le type d'erreur et si tu double clique dessus, ça t’emmènera directement à la ligne de code qui pose problème.

Si jamais, tu n'arrives pas à corriger, copie/colle le message ici.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotificati

Message par djulio74 » 22 Oct 2018 19:54

Salut.

Alors en effet, beaucoup d'erreur...
Il faut savoir déjà que tout a une importance, comme par exemple les minuscules et majuscules, les virgules et les points.
Ton code est plein de ce genre de faute.
Deja normalement quand tu écrit quelques chose, genre transform ou Transform (ce qui est différent), si tu met un point après, il te propose tout ce qui peut venir après. si ce que tu veux écrire n'est pas suggéré c'est que ce n'est pas écrit de la bonne façon.

change donc tes Transform par transform.

tu déclare isjumping , hors plus tard dans le code tu écris isJumping qui du coup n'est pas défini dans le script ( erreur de majuscule).

Il suffit de reagrder dans la doc pour voir que Vector2.left n'existe pas, mais Vector2.right oui. donc au llieu de Vector2.left : -Vector2.right.

Tu est débutant et nous y sommes tous passé. je te conseil avant de vouloir coder un jeux a proprement parler, familiarise toi avec la syntaxe de C#. Place juste des cubes, essaye de leur mettre un script, et fait des essai simple.

Si tu veux regarder ton script corrigé : (en vert précédé de // c'est juste ce que toi tu avais écrit))

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class Joueur : MonoBehaviour
{ 

	public float vitesse = 7.0f;
	private bool isjumping = false;
	
	
	//void FixedUpdate ()
	void Update ()  // pas besoin de FixedUpdate en utilisant les Time.deltaTime
	{
		if (Input.GetKey (KeyCode.Q) || Input.GetKey (KeyCode.LeftArrow)) {
			
			//Transform.Translate(Vector2.left * vitesse * Time.deltaTime);	
			transform.Translate (-Vector2.right * vitesse * Time.deltaTime);
			
			//Transform.localScale = new Vector3(-1, 1, 1);	
			transform.localScale = new Vector3 (-1, 1, 1);
			
		} else if (Input.GetKey (KeyCode.D) || Input.GetKey (KeyCode.RightArrow)) {
			
			//Transform.translate(Vector2.right * vitesse * Time.deltaTime);		
			transform.Translate (Vector2.right * vitesse * Time.deltaTime);
			
			//Transform.localScale = new Vector3(1, 1, 1);		
			transform.localScale = new Vector3 (1, 1, 1);
		}

		if (Input.GetKeyDown (KeyCode.Space)) {
			
			//if (!isJumping) {
			if (!isjumping) {
				StartCoroutine (Jump ());
			}
		}
	}

	IEnumerator Jump ()
	{
		//isJumping = true;
		isjumping = true;
		GetComponent<Rigidbody2D> ().AddForce (Vector2.up * 500);		
		
		//yield return new WaitForSeconds(1, 5f);
		yield return new WaitForSeconds(1.5f);
		
		//isJumping = false;
		isjumping = false;
	}
}
juste un doute su Rigidbody2D ( que je n'ai pas sur unity 4.0 que j'utilise)

Tu vois que tu as fait au moins une erreur pas ligne quasiment...
Comme je te l'ai suggéré, familiarise toi bien avec la syntaxe, absolument tout ce que tu écrit et la façon dont tu écrit a une importance.

Si tu as d'autres soucis, n'hésite pas

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Niboa2
Messages : 2
Inscription : 22 Oct 2018 19:22

Re: All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotificati

Message par Niboa2 » 22 Oct 2018 20:02

Merci beaucoup pour ton aide :super:

C'est vrai qu'avec le corrigé en face je vois mes erreurs qui sont quasi toute des erreurs
de syntaxes... :malin2:

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotificati

Message par djulio74 » 22 Oct 2018 20:05

Quand tu as des erreur, regarde dans la console (ctrl+Shift+C si tu l'as pas l'onglet), en double-cliquant sur une des erreur qui s'affiche, ça devrait te ramener à ton script, à la ligne qui contiens l'erreur.

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Répondre

Revenir vers « Scripting »