[Résolu] [DB-AL] erreur sur le Rigidbody

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Yoyouf
Messages : 2
Inscription : 24 Sep 2017 11:28

[Résolu] [DB-AL] erreur sur le Rigidbody

Message par Yoyouf » 24 Sep 2017 11:43

Bonjour,
J'ai un problème dans mon script mais je ne sais pas du tout d'où ça peut venir, voici mon script:

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour {

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
  void Update () {
		float mouvehorizontal = Input.GetAxis ("Horizontal");
		float mouvevertical = Input.GetAxis ("Vertical");

		Vector3 mouvment = new Vector3 (mouvehorizontal, 0, mouvevertical); 
		Rigidbody.AddForce (mouvment);
	}
		


}

Voila, il s'agit d'un script pour faire bouger une balle grâce aux touches du clavier, mais quand je veux le glisser sur ma sphère, le message d'erreur suivant s'affiche: "Une référence d'objet est requise pour la propriété, la méthode ou le champ non-statique 'UnityEngine.Rigidbody.AddForce (UnityEngine.Vector3)'.

Je débute vraiment dans l'écriture de script, pourriez-vous me dire d'où viens mon erreur et pourquoi il s'agit d'une erreur ?
Merci d'avance.
 ! Message de : Max
Utilisez les balises code SVP
Merci de lire la Netiquette.

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Problème dans mon script

Message par Max » 24 Sep 2017 11:53

Bonjour Yoyouf,

Tu écris: Rigidbody.AddForce (mouvment);.
Niveau code, Rigidbody est le nom d'une classe de l'API. Dans ce que tu écris, tu cherches à faire un accès (non autorisé) à une méthode non statique de cette classe.
En fait dans ton cas, tu cherches plutôt à travailler sur le composant Rigidbody de ton gameobject. Il te faut donc le récupérer en amont.
Par exemple,

Code : Tout sélectionner

       .....
    Rigidbody rgbody;	// le gameobject doit posséder un component RigidBody 

    // Use this for initialization
    void Start () {
        rgbody = GetComponent<Rigidbody>();
     }
      ..........
    void Update () {
		............
	rgbody.AddForce (....);
     }      
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Yoyouf
Messages : 2
Inscription : 24 Sep 2017 11:28

Re: [DB-AL] Problème dans mon script

Message par Yoyouf » 24 Sep 2017 13:19

Merci beaucoup Max, ça fonctionne maintenant et en plus j'ai compris pourquoi donc c'est top merci encore :-D

A bientôt :)

PS: Désolé pour le manque de précision dans mon titre.

Répondre

Revenir vers « (C#) CSharp »