Re: comment convertir type void ,struct en booléen ?
Publié : 15 Jan 2022 16:57
désolé je ne comprends pas
De quel test parle-t-on?
De quel test parle-t-on?
Le forum de la communauté francophone d'Unity
https://www.unity3d-france.com/unity/phpBB3/
https://www.unity3d-france.com/unity/phpBB3/viewtopic.php?f=89&t=18576
Code : Tout sélectionner
if(LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat))
Code : Tout sélectionner
bool LeaveTrail(Vector3 point, float scale, Material material)
{
GameObject go = GameObject.Instantiate (prefab, transform);
go.transform.localScale = Vector3.one * scale;
go.transform.position = point;
go.transform.rotation=prefab.transform.rotation;
go.GetComponent<Renderer>().material = material;
Destroy(go, delay);
return false;
}
Code : Tout sélectionner
if( ! LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat))
Code : Tout sélectionner
bool LeaveTrail(Vector3 point, float scale, Material material)
{
GameObject go = GameObject.Instantiate (prefab, transform);
go.transform.localScale = Vector3.one * scale;
go.transform.position = point;
go.transform.rotation=prefab.transform.rotation;
go.GetComponent<Renderer>().material = material;
Destroy(go, delay);
return true;
}
Code : Tout sélectionner
if( LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat))
heu non, tu testes simplement si elle renvoie true ou false, mais elle sera toujours appelée. Pas besoin d'un If pour cela.
Pourquoi souhaites-tu tester si ta fonction est appelée ? Quel est le but ? Cela aidera à comprendre.
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class trail_renderer_volumetric_with_list : MonoBehaviour
{
public GameObject first_objet,prefab;
public Material prefabMat;
public float echellePrefab,delay;
List<GameObject> prefabList;
int i=0;
// Start is called before the first frame update
void Start()
{
prefabList=new List<GameObject>();
}
// Update is called once per frame
void Update()
{
LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat);
}
private void LeaveTrail(Vector3 point, float scale, Material material)
{
GameObject go = GameObject.Instantiate (prefab, transform);
go.transform.localScale = Vector3.one * scale;
go.transform.position = point;
go.transform.rotation=prefab.transform.rotation;
go.GetComponent<Renderer>().material = material;
Destroy(go, delay);
prefabList.Add(prefab);
prefabList[i] = new GameObject("prefab" + i);
print("nombre d'éléments de la liste de prefabs :"+prefabList.Count);
i++;
}
}