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 .