Page 1 sur 1

Comment créer dans l'inspector un tableau à 2 dimensions ?

Publié : 21 Mars 2020 19:43
par Kaloverian
bonjour,

Comment déclarer un tableau à 2 dimensions pour obtenir un tableau du vecteur 3 où N est le nombre de vecteurs?
J'ai au début du code:

Code : Tout sélectionner

public int N;
lorsque le script est compilé et attaché à l'objet, j'entre manuellement dans le composant de script une valeur de N
par exemple N = 5
Je reçois ensuite dans ce composant de script de l'inspecteur 5 nouveaux champs vectoriels 3 à remplir manuellement (soit 15 entrées)

J'ai trouvé un code intéressant là:
https://owlcation.com/stem/Using-Single ... nd-Unity3D
mais ça n'a rien donné(je ne sais quel nom de fichier script dois-je attribuer)

Peut-on m'aider?

merci

Re: Comment créer dans l'inspector un tableau à 2 dimensions ?

Publié : 21 Mars 2020 20:15
par Max
Bonsoir,

je ne suis pas sûr d'avoir compris complètement le but que tu poursuis.
Si tu veux déclarer et renseigner un tableau de Vector3 dans l'inspector, tu écris simplement par exemple:

Code : Tout sélectionner

    public Vector3[] vecteurs;
ce qui donne dans l'inspector:

Image

Re: Comment créer dans l'inspector un tableau à 2 dimensions ?

Publié : 21 Mars 2020 20:32
par Kaloverian
et oui
merci bien !

(suite)Comment créer dans l'inspector un tableau à 2 dimensions?

Publié : 21 Mars 2020 23:00
par Kaloverian
oups, j'ai oublié cette question

Comment déclarer un tableau à 2 dimensions pour obtenir un tableau de tableau[P] où N est le nombre de tableaux[P]?
J'ai au début du code:
public int N;
lorsque le script est compilé et attaché à l'objet, j'entre manuellement dans le composant de script une valeur de N
par exemple N = 5
Je reçois ensuite dans ce composant de script de l'inspecteur 5 nouveaux champs de tableau[P] à remplir manuellement (soit 5*P entrées)

j'ai essayé de créer un nouveau type nouveau_type en passant par une structure à P éléments de même type.

ensuite:
public nouveau_type[] vecteurs;

mais ça n'a pas marché!
Pourquoi?

Re: (suite)Comment créer dans l'inspector un tableau à 2 dimensions?

Publié : 22 Mars 2020 11:39
par Max
Bonjour,
Kaloverian a écrit :
21 Mars 2020 23:00
j'ai essayé de créer un nouveau type nouveau_type en passant par une structure à P éléments de même type.

ensuite:
public nouveau_type[] vecteurs;
comment est écrite ta structure ? Poste ton code.

Lien utile: https://docs.unity3d.com/ScriptReferenc ... zable.html

Re: Comment créer dans l'inspector un tableau à 2 dimensions ?

Publié : 22 Mars 2020 16:22
par Kaloverian
merci !
ce dernier lien m'a permis d'obtenir ce que je voulais

Néanmoins, dans ce lien est-ce que les termes:
[Serializable] [SerializeField]
sont nécessaires dans le code?

Voici mon code bon:

Code : Tout sélectionner

using System;
using UnityEngine;

public class tableau_de_tableau_dans_inspector : MonoBehaviour
{
    //Create a custom struct and apply [Serializable] attribute to it
    [Serializable]
    public struct PlayerStats [
    {
        public float a;
        public float b;
        public float c;
        public float d;
        public float e;
    }

    //Make the private field of our PlayerStats struct visible in the Inspector
    //by applying [SerializeField] attribute to it
    [SerializeField]
    public PlayerStats[] vecteur;
}