[Résolu]extration de variables
[Résolu]extration de variables
Je voudrais savoir s'il y a un moyen pour afficher certaines variables globales afin de les afficher dans un fichier texte à chaque lancement du jeu?
Merci
Merci
Dernière édition par stigma le 23 Mai 2024 08:36, édité 1 fois.
Il n'y a que les poissons morts qui suivent le courant.
- boubouk50
- ModoGenereux
- Messages : 6455
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: extration de variables
Tu utilises deux fois mal le verbe afficher, je crois
Tu veux les sortir quand le jeu est en cours pour connaître leur valeur
ou
Tu veux les sortir pour définir leur valeur depuis l'extérieur ?
Le plus simple, est de faire des Debug.Log () qui renvoie la ou les valeurs souhaitées et de consulter le log de l'application dans les AppData.
Sinon, il y a la possibilité de les afficher en direct dans un UI et faire en sorte que cet UI ne soit active seulement lors d'un appui très précis de certaines touches.
Enfin, il reste les PlayerPrefs. Tu peux lire et écrire les données directement depuis la base de registre
Après, c'est de l'écriture / lecture dans des fichiers. Il faut dev (y'a plein d'exemples partout) un script dédié (File.IO, FileStream, etc.).

Tu veux les sortir quand le jeu est en cours pour connaître leur valeur
ou
Tu veux les sortir pour définir leur valeur depuis l'extérieur ?
Le plus simple, est de faire des Debug.Log () qui renvoie la ou les valeurs souhaitées et de consulter le log de l'application dans les AppData.
Sinon, il y a la possibilité de les afficher en direct dans un UI et faire en sorte que cet UI ne soit active seulement lors d'un appui très précis de certaines touches.
Enfin, il reste les PlayerPrefs. Tu peux lire et écrire les données directement depuis la base de registre
Après, c'est de l'écriture / lecture dans des fichiers. Il faut dev (y'a plein d'exemples partout) un script dédié (File.IO, FileStream, etc.).
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: extration de variables
Sans oublier l'excellent Quantum Console, souvent à prix réduit.
Re: extration de variables
Je veux juste connaître leurs valeurs quand le jeu est en cours et compilé surtout, sinon je sais comment les voir. J'ai pas mal de globales avec des valeurs aléatoires. Quand je teste mon jeu (compilé), c'est plus rapide à débugguer.
Il n'y a que les poissons morts qui suivent le courant.
Re: extration de variables
Pour mon cas, 40€, ce n'est pas un prix réduitjmhoubre a écrit : ↑21 Mai 2024 17:10Sans oublier l'excellent Quantum Console, souvent à prix réduit.

Il n'y a que les poissons morts qui suivent le courant.
Re: extration de variables
Alors voilà, j'ai un code qui marche...un peu.
j'appelle mes globales ici
ça à l'air de marcher, seulement les variables sont à zéro alors qu'elles ont été précédemment définie par une valeur aléatoire dans une action Playmaker.
Code : Tout sélectionner
using System.IO;
using UnityEngine;
public class ExportGlobalVariables : MonoBehaviour
{
void Start()
{
// Récupérer les valeurs des variables globales
int torcheLieu = GlobalVariables.Torche_lieu;
int allumettesLieu = GlobalVariables.allumettes_Lieu;
// Écrire les valeurs dans un fichier
WriteGlobalVariablesToFile(torcheLieu, allumettesLieu);
}
void WriteGlobalVariablesToFile(int torcheLieu, int allumettesLieu)
{
string path = Application.dataPath + "/GlobalVariables.txt";
using (StreamWriter writer = new StreamWriter(path))
{
writer.WriteLine("Torche lieu: " + torcheLieu);
writer.WriteLine("Allumettes lieu: " + allumettesLieu);
}
Debug.Log("Global variables written to " + path);
}
}
Code : Tout sélectionner
public static class GlobalVariables
{
public static int Torche_lieu;
public static int allumettes_Lieu;
}
Il n'y a que les poissons morts qui suivent le courant.
- boubouk50
- ModoGenereux
- Messages : 6455
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: extration de variables
Tu fais un appel dans un Start (), ça veut dire que tes variables globales doivent être initialisées dans un Awake () d'un script actif au départ de ta scène pour être sûr qu'elles soient modifiées avant.
De cette manière, quand tu appuies sur la touche G, tu écris dans le fichier texte.
Code : Tout sélectionner
using System.IO;
using UnityEngine;
public class ExportGlobalVariables : MonoBehaviour
{
private void Update ()
{
if (Input.GetKeyDown (KeyCode.G))
WriteGlobalVariablesToFile();
}
void WriteGlobalVariablesToFile()
{
string path = Application.dataPath + "/GlobalVariables.txt";
using (StreamWriter writer = new StreamWriter(path))
{
// Pas utile de copier la valeur dans une variable, puisque tu as accès a tout moment n'importe où
writer.WriteLine("Torche lieu: " + GlobalVariables.Torche_lieu);
writer.WriteLine("Allumettes lieu: " + GlobalVariables.allumettes_Lieu);
}
Debug.Log("Global variables written to " + path);
}
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: extration de variables
merci Boubouk, je vais tester ça
Il n'y a que les poissons morts qui suivent le courant.