2016-11-13 2 views
-2

Est-il recommandé d'utiliser des variables statiques où que je sois à l'aise?Utilisation et utilisation excessive de variables statiques

Parce que j'ai tendance à l'utiliser plus souvent maintenant. Est-ce que l'utilisation de variables statiques est une mauvaise pratique ou remplira-t-elle rapidement la mémoire?

Actuellement, je fais de petits jeux avec C++. Donc, pour maintenir certains états comme la position de saut et le temps d'animation, je dois utiliser des variables statiques dans une fonction et cette fonction sera appelée plusieurs fois dans une boucle. Donc les variables statiques feront ce travail. Y at-il des modèles oo pour surmonter ce problème?

void jumpit(){ 
    static int jump ; 
    if(!jump && pressed) 
      jump=1; 
    if (jump) 
     obj.y++; 
} 

Et dans la boucle, je vais appeler cela pour faire le travail done..do nous avons une meilleure idée de faire la même chose ??

+0

Désolé pour le mauvais formatage du code ..Je le tape dans l'application android –

+0

L'utilisation de la statique willy-nilly est vraiment pratique, jusqu'à ce que vous vous peignez dans un coin avec elle. – StoryTeller

+0

Merci ... comment devenir un bon développeur de jeu ... Je ne suis pas intéressé à utiliser le moteur de jeu bien que je considérerais l'utiliser ... Je veux aller de zéro –

Répondre

0

Votre "obj" pourrait garder une trace de son propre état.

Une fonction jumpit autoportant pourrait être mis en œuvre comme:

void jumpit(Object& obj, bool pressed) 
{ 
     if(!obj.jump && pressed) 
       obj.jump = true; 
     if (obj.jump) 
      obj.y++; 
} 

Ou il pourrait être préférable de mettre en œuvre jumpit dans le cadre de « l'objet »

Il est presque jamais une bonne idée de garder l'état dans une fonction.

+0

J'ai compris ça. .mais ce sont des situations similaires que j'utilise des variables statiques –

+0

Oh je comprends ... –