Je travaille sur un tamagochi avec des gifs. Le problème est que je souhaiterais introduire une condition: Si le bouton 1 n'a pas été pressé, on ne pourra pas exécuter le bouton 3 et une gif sera affichée (un tama pas content). Voici mon code: import gifAnimation.*;
PImage img; Gif myAnimation; Gif manger; boolean drag = false;
void setup() { img = loadImage ("tamma2.png"); size(250, 350); image(img, 0, 0);
size(250, 350); // fill(#FA6DB8); // ellipse(125, 175, 200, 230); fill(255); rect(67, 112, 120, 75);
for (int i= 0; i<3;i++) { fill(#acbbff); ellipse(75+i*50, 230, 40, 40);
img = loadImage ("stouche.png"); size(250, 350); image(img, 0, 0);
frameRate(100); myAnimation = new Gif(this, "animeacceuile.gif"); myAnimation.play(); manger = new Gif(this, "manger.gif"); manger.play(); } } void demarrer() { image(myAnimation, 67, 112); } void manger(){ image(manger,67,112); }
void draw() { demarrer();
if (mousePressed==true && ((mouseX>55)&&(mouseX<95)&&(mouseY>210)&&(mouseY<250))) { cursor(HAND); image(manger,67,112); }
if (mousePressed==true && ((mouseX>105)&&(mouseX<145)&&(mouseY>210)&&(mouseY<250))) { fill(#F211D5); rect(67, 112, 120, 75); } if (mousePressed==true &&((mouseX>155)&&(mouseX<195)&&(mouseY>210)&&(mouseY<250))) { fill(#1DFF0A); rect(67, 112, 120, 75); } }
|
Hello...
Voici une possibilité... Après avoir déclaré et initialisé une variable booléenne à false au démarrage...
...tu peux modifier sa valeur avec le premier bouton et la tester dans les condition de ton deuxième bouton...
Je n'ai pas testé, mais l'idée est là...
Bon courage...
|
Ok merci je vois où tu veux en venir. Je le testerais plus tard, pour l'instant je n'arrive plus à faire fonctionner processing sur mon ordinateur. Par contre, un autre problème se pose: il y a une gif de base du tamagochi et quand je veux afficher le gif manger via le bouton 1, il ne s'affiche qu'en gardant la souris appuyé. De plus, il s'affiche en boucle. Je voudrais donc avoir une solution, soit avec un clic, la gif manger s'affiche et on revient à celle de base, soit quand je garde appuyé le bouton, elle ne s'affiche que 3sec environ avant que l'autre revienne. Merci beaucoup de ton aide
|
Garde en tête que ta fonction principale "void draw()" se joue en boucle et à l'infini, tout ce que tu vas placer dedans vas forcément se répéter si tu ne les encadre pas dans des conditions appropriées. Pour ton GIF d'intro, tu pourrais le placer dans ta fonction "void setup()" qui, elle, ne se joue qu'une fois au lancement du programme. Pour ton problème au lancement, essaye peut-être une réinstall de la dernière version, bonne vieille technique :)
|