[RESOLU]Fichier txt accessible en mode jeu

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

[RESOLU]Fichier txt accessible en mode jeu

Message par EmileF » 03 Août 2020 19:02

Bonjour,

Je bloque sur un petit problème qui je suis sûr pour certains d'entre vous ce n'est qu'un détail.

Je suis en train de créer un petit jeu 2D pour lequel j'ai créé un fichier .txt pour contenir les données de chaque niveau.

J'utilise le textAsset pour charger ces données.

J'ai créé un Editeur de niveau et j'enregistre les modifications dans le fichier de mon TextAsset, mais bien évidement, il faut que j'arrete le jeu et le relance pour que les modifications soient appliquées.

Et bien sûr le jeu buildé ne me modifie pas le fichier.

Comment faire pour avoir ce fichier text dans les assets du jeu et pouvoir le modifier dans tous les cas, et conserver ces modifs après l'arrêt du jeu

Un petit coup de main serait sympa
Dernière édition par EmileF le 04 Août 2020 18:16, édité 1 fois.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

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

Re: Fichier txt accessible en mode jeu

Message par Max » 03 Août 2020 20:47

Bonsoir,

Perso je ne passe pas par TextAsset, trop rigide à mon gout.
Perso je passe par les fonctions System.IO ReadAllText/WriteAllText.
Après, tu as ce genre de sujet, qui date un peu, mais qui reste d'actualité: viewtopic.php?t=626
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

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Fichier txt accessible en mode jeu

Message par EmileF » 04 Août 2020 08:10

Merci Max pour ta réponse.

System.IO, je connais, pour ça ça va

Mais où mettre mon fichier pour qu'il soit accessible et modifiable en mode play et même quand mon jeu est buildé, voire même en mode Android ?

C'est là que j'ai un petit soucis
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

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

Re: Fichier txt accessible en mode jeu

Message par Max » 04 Août 2020 08:21

regarde du coté de StreamingAssets, je pense que c'est ce que tu cherches.
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

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Fichier txt accessible en mode jeu

Message par EmileF » 04 Août 2020 10:46

Merci Max,

A première vue il semblerait que ce soit ce que je recherche.

Je vais faire mes essais et je posterai le résultat

Merci
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
jmhoubre
Messages : 856
Inscription : 05 Oct 2019 22:05

Re: Fichier txt accessible en mode jeu

Message par jmhoubre » 04 Août 2020 13:43

Merci, je ne connaissais pas ce point.

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Fichier txt accessible en mode jeu

Message par EmileF » 04 Août 2020 16:14

Alors voilà, tout fonctionne bien dans l'éditeur et sous Window

mais pas moyen de sauvegarder des modifs sur Android. (Lecture seulement)

J'ai essayé PersistentDataPath même probleme (lecture seulement sur Android)

Y a-t'il un moyen de modifier un fichier .txt sur une tablette Android ?


Edit: Rectification: J'ai du mal faire mes premiers essais

PersistentDataPath fonction en lecture et écriture même sur Android

voilà le script testé sur Android, ça pourra peut-être servir à quelqu'un

Code : Tout sélectionner

using UnityEngine;
using System.IO;

public class Test : MonoBehaviour
{
    public TextAsset dataTest;
    public TextMesh texte;
    string data;
    string path;

    private void Start()
    {
        //Création du chemin d'accès au fichier
        path = Application.persistentDataPath + "/data.txt";

        //si le fichier existe je le lit
        if (File.Exists(path))
            data = File.ReadAllText(path);
        else
        {
            //sinon je lis le TextAsset fourni à la base et je l'enregistre
            data = dataTest.text;
            File.WriteAllText(path, data);
        }
        //j'affiche le data
        texte.text = data;
    }

    public void Load()
    {
        //je lis le data et je l'affiche
        data = File.ReadAllText(path);
        texte.text = data;
    }


    public void Save()
    {
        //je sauvegarde le data
        File.WriteAllText(path, data);
    }

    public void Modif()
    {
        //je modifie le data
        data = "texte modifié";
        texte.text = data;
    }
}

La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

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

Re: [RESOLU]Fichier txt accessible en mode jeu

Message par Max » 04 Août 2020 19:05

merci pour le partage, qui servira sans aucun doute à d'autre ;)
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

Répondre

Revenir vers « Scripting »