Page 1 sur 1

[RESOLU]Fichier txt accessible en mode jeu

Publié : 03 Août 2020 19:02
par EmileF
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

Re: Fichier txt accessible en mode jeu

Publié : 03 Août 2020 20:47
par Max
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

Re: Fichier txt accessible en mode jeu

Publié : 04 Août 2020 08:10
par EmileF
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

Re: Fichier txt accessible en mode jeu

Publié : 04 Août 2020 08:21
par Max
regarde du coté de StreamingAssets, je pense que c'est ce que tu cherches.

Re: Fichier txt accessible en mode jeu

Publié : 04 Août 2020 10:46
par EmileF
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

Re: Fichier txt accessible en mode jeu

Publié : 04 Août 2020 13:43
par jmhoubre
Merci, je ne connaissais pas ce point.

Re: Fichier txt accessible en mode jeu

Publié : 04 Août 2020 16:14
par EmileF
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;
    }
}


Re: [RESOLU]Fichier txt accessible en mode jeu

Publié : 04 Août 2020 19:05
par Max
merci pour le partage, qui servira sans aucun doute à d'autre ;)