Je me présente rapidement (je suis nouveau sur ce forum) : je suis un petit élève de classe préparatoire qui a besoin d'utiliser Unity (donc plein de scripts C#) pour un travail à présenter lors des concours de fin d'année... Heureux de vous rencontrer !
Mon problème est le suivant : je cherche à récupérer toutes les positions (Vector3) d'une balle qui rebondit sur un plan afin d'en faire l'étude en python... bref ! La question à du être posée à mainte reprise mais malgré mes recherches je ne trouve personne qui explique comment ajouter TOUTES les positions (à chaque nouveau passage dans la fonction void Update)...
A chaque fois que je trouve un semblant de solution l'écriture dans un fichier texte se fait d'un bloc dans une seule fonction...
en gros je voudrais utiliser ma fonction Update comme une sorte de boucle (car c'en est une il me semble) qui ajouterais à chaque passage la position de ma balle dans le fichier texte.
Si vous avez d'autres solutions à proposer je suis preneur tant qu'elles ont l'effet désiré.
Unity me renvoie trois erreurs :
"IOException: Sharing violation on path c:\Users\*Mon prénom*\Desktop\test.txt
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/FileStream.cs:320)
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share)
(wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/StreamWriter.cs:124)
System.IO.StreamWriter..ctor (System.String path)
(wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string)
Positions..ctor () (at Assets/Positions.cs:7)"
"NullReferenceException: Object reference not set to an instance of an object
Positions.Start () (at Assets/Positions.cs:13)"
"NullReferenceException: Object reference not set to an instance of an object
Positions.Update () (at Assets/Positions.cs:19)"
Je vous préviens je suis 100% débutant, voici une ébauche de mon code :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Positions : MonoBehaviour {
System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\Users\\*Mon prénom*\\Desktop\\test1.txt");
private float minuteur = 0;
// Use this for initialization
void Start () {
file.WriteLine(transform.position);
file.WriteLine(minuteur);
}
// Update is called once per frame
void Update () {
file.WriteLine(transform.position);
minuteur += Time.deltaTime;
file.WriteLine(minuteur);
}
}
P.S. : Si quoi que ce soit ne convient pas dans mon post je vous serais très reconnaissant de m'avertir afin de m'améliorer ! :-) Merci !