délai avant effacement GUI texture
délai avant effacement GUI texture
Bonjour
J'ai besoin d'afficher une image au lancement de mon application puis qu'elle disparaisse au bout de 10 secondes.
pour cela j'ai commencé par utiliser le script :
var aTexture : Texture;
function OnGUI() {
if(Event.current.type.Equals(EventType.Repaint))
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
ok, ça marche mais je ne réussi pas à la faire disparaitre au bout de 10 secondes.
Je voudrais aussi la faire apparaitre et disparaitre en utilisant une touche :
var aTexture : Texture;
function Update() {
if (Input.GetKeyDown ("m")) {
if(Event.current.type.Equals(EventType.Repaint))
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
}
mais là non plus je n'y arrive pas.
Merci d'avance
J'ai besoin d'afficher une image au lancement de mon application puis qu'elle disparaisse au bout de 10 secondes.
pour cela j'ai commencé par utiliser le script :
var aTexture : Texture;
function OnGUI() {
if(Event.current.type.Equals(EventType.Repaint))
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
ok, ça marche mais je ne réussi pas à la faire disparaitre au bout de 10 secondes.
Je voudrais aussi la faire apparaitre et disparaitre en utilisant une touche :
var aTexture : Texture;
function Update() {
if (Input.GetKeyDown ("m")) {
if(Event.current.type.Equals(EventType.Repaint))
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
}
mais là non plus je n'y arrive pas.
Merci d'avance
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: délai avant effacement GUI texture
Pour la touche 'm'
Cette instruction permet de savoir quand la touche 'm' a été appuyée. Du coup, elle n'est active qu'une seule fois. Tu dois donc l'utiliser pour changer un état, pas pour dessiner ta texture.
Pour les 10 secondes d'affichage au Start(), tu fais un timer qui mets drawmyTexture à false au bout de 10 secondes.
Code : Tout sélectionner
if (Input.GetKeyDown ("m"))
Code : Tout sélectionner
private bool drawmyTexture = true;
function Update() {
//change l'état de drawmyTexture: true ou false
if (Input.GetKeyDown ("m")) {
drawmyTexture = !drawmyTexture ;
}
//dessine ma GUItexture si drawmyTexture est à true
if(Event.current.type.Equals(EventType.Repaint) && drawmyTexture ) {
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: délai avant effacement GUI texture
[Modération]
@Kubic 3d : Merci de prendre connaissance de la Nétiquette des Forums et de baliser vos codes !!!
@Kubic 3d : Merci de prendre connaissance de la Nétiquette des Forums et de baliser vos codes !!!
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: délai avant effacement GUI texture
Merci pour ta réponse, et je m'excuse pour ma méconnaissance des règles de balises sur le forum.
Pourrais tu me monter un exemple pour le timer ou bien m'indiquer un lien STP ?
Pourrais tu me monter un exemple pour le timer ou bien m'indiquer un lien STP ?
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: délai avant effacement GUI texture
Code : Tout sélectionner
private float timer = 0.0f;
void Update() {
//a chaque frame on ajoute le temps passé
timer += Time.deltaTime;
if (timer >= 10.0f) {
//ICI tout ce qui se passe à partir de 10s
...
}
}
DOC
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: délai avant effacement GUI texture
Merci beaucoup ! Je vais m'atteler à la rédaction de ce script !
Re: délai avant effacement GUI texture
bien, après avoir longtemps bataillé, j'ai sortis ce script :
qui me permet de gérer l'affichage de ma GUITEXTURE
puis j'ai rajouté la temporisation :
sauf que si on rappuie sur la touche "n" pour refaire apparaitre l'image, comme le temps est dépassé, l'image ne reste pas à l'écran. Comment améliorer le script en rajoutant par exemple un reset du temps lorsqu'on presse la touche ?
Quand je pense aux gens qui me disent que la 3D (mon domaine) c'est compliqué !!! Ils devraient voir ce que c'est que scripter!
Code : Tout sélectionner
var GUIEnabled : boolean = false;
var aTexture : Texture;
function Update () {
if (Input.GetKeyDown ("n"))
GUIEnabled = !GUIEnabled;
}
function OnGUI () {
if(GUIEnabled) {
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
}
puis j'ai rajouté la temporisation :
Code : Tout sélectionner
var time : float = 0;
var GUIEnabled : boolean = true;
var aTexture : Texture;
function Update () {
time += Time.deltaTime;
if(time >= 5){
GUIEnabled = false;
//time = 0;
}
else;
if (Input.GetKeyDown ("n"))
GUIEnabled = !GUIEnabled;
}
function OnGUI () {
if(GUIEnabled) {
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
}
sauf que si on rappuie sur la touche "n" pour refaire apparaitre l'image, comme le temps est dépassé, l'image ne reste pas à l'écran. Comment améliorer le script en rajoutant par exemple un reset du temps lorsqu'on presse la touche ?
Quand je pense aux gens qui me disent que la 3D (mon domaine) c'est compliqué !!! Ils devraient voir ce que c'est que scripter!
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: délai avant effacement GUI texture
La réponse est dans ton script: il suffit de remettre le timer à 0.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: délai avant effacement GUI texture
effectivement, avec la commande activée ça fonctionne. Sauf que le délai d'affichage de l'image est réduis par rapport à la demande. Par exemple, quand on appuie sur"n", l'image ne reste visible qu'une seconde !!!
Code : Tout sélectionner
time = 0;
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: délai avant effacement GUI texture
il faut également remettre le timer à zéro quand tu appuies sur 'n'
Code : Tout sélectionner
var time : float = 0;
var GUIEnabled : boolean = true;
var aTexture : Texture;
function Update () {
if (GUIEnabled ) { //Si ton Gui est affiché alors seulement tu t'occupes du timing
time += Time.deltaTime;
if(time >= 5){ //Si ton temps est atteint
GUIEnabled = false;
time = 0;
}
}
if (Input.GetKeyDown ("n")) { //Si tu décides de l'afficher/masquer manuellement tu remets le temps à 0
GUIEnabled = !GUIEnabled;
time = 0;
}
}
function OnGUI () {
if(GUIEnabled) {
Graphics.DrawTexture(Rect(10, 10, 100, 100), aTexture);
}
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation