C# unity3D: Surcharge Update

Résolu/Fermé
TisseBrume Messages postés 5 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 30 janvier 2017 - Modifié par baladur13 le 21/01/2017 à 09:42
Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 - 21 janv. 2017 à 18:10
Bonjour,

je rencontre un petit soucis en progra c# unity3D :

La methode Gerer_Lancement_Sort() n'est jamais executé, si quelqu'un peut m'aider

//  Gestion du temps de recharge
    private float _Chronometre_Lancement;

//  Constructeurs
    #region Constructeurs

public Sort( int tempsRecharge, [....] )
    {

this._Temps_Recharge = tempsRecharge;
        this._Chronometre_Lancement = tempsRecharge;
        this._Est_Lance = false;
    }


#endregion

//SURCHARGES de methodes
    #region SURCHARGES de methodes

//surcharge de la classe 'MonoBehaviour'
    private void Update()
    {


print("_Chronometre_Lancement = " + _Chronometre_Lancement);


if (this._Chronometre_Lancement > 0)
            {
                this._Chronometre_Lancement -= Time.deltaTime;
            }
            if (this._Chronometre_Lancement < 0)
            {
                this._Chronometre_Lancement = 0;
            }

if (this._Chronometre_Lancement == 0)
            {

print("this._Est_Lance" + this._Est_Lance);//Affiche false en permanence
                if (this._Est_Lance)
                {
                    print("dans if est lance");
                    this.Gerer_Lancement_Sort();
                    this._Est_Lance = false;
                    this._Chronometre_Lancement = this._Temps_Recharge;
                }

}


}
    #endregion

//Est appelé par un Input.getKeyUp([...])
//La valeur est correctement mise à true
 public void Lancer ()
    {
        this._Est_Lance = true;
    }



Ce script est sur mon FPSController, j'ai rencontré un probleme lorque j'ai voulu en faire une simple classe sans passer par un héritage de la classe MonoBehaviour. Cependant meme si ce script est sur mon Controller, le constructeur est correctement executé.

En esperant que quelqu'un puisse m'aider.

Merci d'avance !


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 928
21 janv. 2017 à 09:46
Bonjour, je ne connais pas Unity, mais C# oui.
A moins qu'il n'y ait de spécificité dés le début ton code me surprend

public Sort( int tempsRecharge, [....] ) // en C# [....] ça ne marche pas
{ 

this._Temps_Recharge = tempsRecharge; 
this._Chronometre_Lancement = tempsRecharge; 
this._Est_Lance = false; 
} 


On ne voit pas la déclaration des variables. Tu dis que this._Est_Lance passe bien à true, mais s'il y a un problème de portée de vicariale on ne peut pas le voir.

Enfin qu'est ce qui déclenche UpDate?
0
Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 928
21 janv. 2017 à 18:10
T'as marqué ton sujet résolu, tant mieux, mais l'idée du forum est qu'une solution puisse un jour servir à un autre et pour ça, il faut la mettre la solution.....
0