[DB-AL] Raw image qui ne s'affiche pas

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
aymerick
Messages : 1
Inscription : 01 Déc 2018 15:20

[DB-AL] Raw image qui ne s'affiche pas

Message par aymerick » 01 Déc 2018 15:46

Bonjour, bonsoir,
je souhaite créer un CaseOpening pour m'amuser sur le logiciel Unity 2D, j'ai pour but de placer des Raw Image qui sont désactivées de base. J'ai créé un système de génération de nombre aléatoire. Donc j'explique que si ce nombre tombe alors la Raw Image correspondant devienne visible mais voila j'ai un petit problème à ce niveau là, aucune ne s'affiche et c'est assez énervant. Si quelqu'un sait quoi faire allez y je suis ouvert à toutes propositions.
-Le code en question:

Code : Tout sélectionner

public class Aleatoire : MonoBehaviour {

	public RawImage Objet1;
	public RawImage Objet2;
	public RawImage Objet3;
	public RawImage Objet4;
	public RawImage Objet5;
	public RawImage Objet6;
	public RawImage Objet7;
	public RawImage Objet8;
	public RawImage Objet9;

	public int Entier;
	public float Time = 1.0f;
	public GameObject Code;
	
	void Affichage(){
		if (Entier == 1) {
			Objet1.enabled = true;
		}
		if (Entier == 2) {
			Objet2.enabled = true;
		}
		if (Entier == 3) {
			Objet3.enabled = true;
		}
		if (Entier == 4) {
			Objet4.enabled = true;
		}
		if (Entier == 5) {
			Objet5.enabled = true;
		}
		if (Entier == 6) {
			Objet6.enabled = true;
		}
		if (Entier == 7) {
			Objet7.enabled = true;
		}
		if (Entier == 8) {
			Objet8.enabled = true;
		}
		if (Entier == 9) {
			Objet9.enabled = true;
		}
	}
		
	void Update () {
		Time -= 1.0f;
		if (Time < 0){
			Code.SetActive(false);
		}
		Entier = Random.Range (0, 10);
		Debug.Log (Entier);
	}
}
Sur ceux bonne après midi a tous!!
Aymerick
.
 ! Message de : Max
Utilisez les balises code SVP
Merci de lire la Charte et sa FAQ, en particulier Comment insérer un script dans un messages ?.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [DB-RS] Raw image qui ne s'affiche pas

Message par djulio74 » 01 Déc 2018 16:02

ça peut paraitre bête, mais dans ton code ( utilise les balises stp, tu va te faire taper sur le doigts ^^), je ne vois a aucun moment un appel à la void Affichage() ... Donc si rien ne l'appel, elle ne s’exécute jamais donc normal que rien ne se passe... ;-)

EDIT :
une fois que ça marche, je te conseil de simplifier.
utilise un array :

Code : Tout sélectionner

public RawImage[] Objet;
ensuite dans ton random :

Code : Tout sélectionner

Entier = Random.Range (0, RawImage.Length-1);
Ensuite ton decompte du temps, faut ajouter un TIme.DeltaTime.
car là si Time = 1.0f, et que dans la void Update : Time -= 1.0f;
bah a la premiere execution, Time = 0, donc fin du script.
Pour un decompte d'une seconde : Time -= 1.0f*Time.deltaTime;
et du coup ton code :

Code : Tout sélectionner

public class Aleatoire : MonoBehaviour 
{

	public RawImage[] Objet;
	// => definir un size dans l'inspector, glisser les object dans la liste
	
	public int Entier;
	public float Time = 1.0f;
	public GameObject Code;

	void Update () {
		// en partant de 1.0, Time sera a zéro en une seconde.
		Time -= 1.0f * Time.deltaTime;
		if (Time < 0){
			Code.SetActive(false);
		}
		Entier = Random.Range (0, RawImage.Length-1);
		Debug.Log (Entier);
		RawImage[entier].enable = true;
	}
}

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-RS] Raw image qui ne s'affiche pas

Message par Max » 01 Déc 2018 16:23

Hello,

En complément,

Code : Tout sélectionner

public float Time = 1.0f;
puis

Code : Tout sélectionner

		Time -= 1.0f * Time.deltaTime;
je pense que cela ne doit pas fonctionner :]
@aymerick: attention aux données que tu définis avec des noms identiques à des éléments de l'API (classes, méthodes, etc...). Forcement, cela ne peut qu'être source de problèmes ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « (C#) CSharp »