Page 1 sur 2

comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 00:03
par Kaloverian
bonjour,

1)Comment convertir type void en type booléen?
2)Comment convertir type struct en type booléen?


merci de votre aide

Re: comment convertir type void ,struct en bouléen ?

Publié : 15 Jan 2022 12:00
par Max
Bonjour,

il faudrait contextualiser un peu plus, car comme cela ta question n'a pas vraiment de sens, surtout
Kaloverian a écrit :
15 Jan 2022 00:03
2)Comment convertir type struct en type booléen?

Re: comment convertir type void ,struct en booléen?

Publié : 15 Jan 2022 14:47
par Kaloverian
1)j'ai crée une fonction retournant void:

Code : Tout sélectionner

  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);
      
    }
et une condition if dans laquelle j'appelle cette fonction:

Code : Tout sélectionner


     if(LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat))
     {
     
     }
Comme if attend un booléen,je dois convertir type void en booléen

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 15:23
par Max
Oui, mais il ne suffit pas de remplacer void par bool, il faudra aussi que ta fonction LeaveTrail() revoie un boolean (true ou false), et qui ai du sens, cette fonction (comme tu la listes) ne faisant pas de test particulier visiblement.

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 15:28
par Kaloverian
donc je modifie ma fonction LeaveTrail comme ceci?:

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;
      
    }
ou comme ceci?:

Code : Tout sélectionner

 int 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 1;
      
    }

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 15:33
par Max
oui pour return true;, mais cela sert à quoi dans ce cas de faire un test sur LeaveTrail() vu que cela renvoi toujours true ?

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 15:45
par Kaloverian
à quoi ça sert:
à chaque appel de la fonction LeaveTrail,je rajoute l'objet prefab dans une liste

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 16:02
par Max
oiu mais à quoi sert le test if(LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat)), quand tu sais que le test sera toujours vrai puisque ta fonction retourne systématiquement true ?

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 16:23
par Kaloverian
à chaque appel de la fonction LeaveTrail est équivalent à:

Code : Tout sélectionner

if(LeaveTrail(first_objet.transform.position, echellePrefab, prefabMat))

Re: comment convertir type void ,struct en booléen ?

Publié : 15 Jan 2022 16:26
par Max
oui, j'ai bien compris, mais pourquoi faire un test ? Il ne sert à rien .