[MY] Modifier la variable du script d'une instance [Résolu]
Publié : 24 Sep 2019 19:41
Salut à tous !
J'essaie d’accéder à la variable d'un script sur des instances via un Array...
en gros je crée 128 instances d'un prefab sur lequel est appliqué un script,
et je voudrais modifier chaque variable de ces instances séparément en appliquent un array.
Le script sur le prefab: "ScriptOnPrefab"
Le script d'instances sur le GameObject :
Mais il me dit "cannot apply indexing on float."
Quelle est la syntaxe correcte pour appliquer mon array sur les variables des instances ?
J'essaie d’accéder à la variable d'un script sur des instances via un Array...
en gros je crée 128 instances d'un prefab sur lequel est appliqué un script,
et je voudrais modifier chaque variable de ces instances séparément en appliquent un array.
Le script sur le prefab: "ScriptOnPrefab"
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScriptOnPrefab : MonoBehaviour
{
public static float Factor = 1;
void Update()
{
Transform PrefabTransform = transform.GetComponent<Transform>();
PrefabTransform.localScale = new Vector3(1, Factor, 1);
}
}
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScriptOnGameObject : MonoBehaviour
{
public GameObject prefab;
private float[] Values = new float[128];
void Start()
{
for (int i = 0; i < 128; i++)
{
Vector3 pos = transform.position + new Vector3(i, 0, 0);
Quaternion rot = Quaternion.Euler(0, 0, 0);
Instantiate(prefab, pos, rot, gameObject.transform);
}
}
void Update()
{
for (int i = 0; i < 128; i++)
{
Values[i] = 1 + i;
}
for (int i = 0; i < 128; i++)
{
// c'est ici que je voudrais appliquer mon array
ScriptOnPrefab.Factor[i] = Values[i];
}
}
}
Quelle est la syntaxe correcte pour appliquer mon array sur les variables des instances ?