Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-04-20 13:21:50 Reset programme

Rávion
membre
Date d'inscription: 2015-11-06
Messages: 20

Reset programme



Bonjour, j'ai fait un petit jeu (shifumi) qui interagit avec le son:
J'aimerais relancer le programme à l'image de fond ("image[0]") lorsque l'on clique sur la souris (ou touche espace), une sorte de reset quoi.

Quelqu'un peut m'aider svp ?
--
import ddf.minim.*; 
 
PImage[] image = new PImage[31]; 
float volume; 
int curseur; 
float canalyseur; 
float seuil = 31; //ICI (de 0 a 255) 
 
//POUR ADOUCIR ANIMATION 
float volumeLisse; 
float alpha = 0.7;//ET ICI (de 0.1 a 0.9) 
 
Minim minim; 
AudioInput in; 
 
void setup() { 
  size(1366,768); 

  image[0] = loadImage("fond.jpg"); 
  image[1] = loadImage("pierre.jpg"); 
  image[2] = loadImage("feuille.jpg"); 
  image[3] = loadImage("ciseaux.jpg");
  image[4] = loadImage("pierre.jpg"); 
  image[5] = loadImage("feuille.jpg"); 
  image[6] = loadImage("ciseaux.jpg");
  image[7] = loadImage("pierre.jpg"); 
  image[8] = loadImage("feuille.jpg"); 
  image[9] = loadImage("ciseaux.jpg");
  image[10] = loadImage("pierre.jpg"); 
  image[11] = loadImage("feuille.jpg"); 
  image[12] = loadImage("ciseaux.jpg");
  image[13] = loadImage("pierre.jpg"); 
  image[14] = loadImage("feuille.jpg"); 
  image[15] = loadImage("ciseaux.jpg");
  image[16] = loadImage("pierre.jpg"); 
  image[17] = loadImage("feuille.jpg"); 
  image[18] = loadImage("ciseaux.jpg");
  image[19] = loadImage("pierre.jpg"); 
  image[20] = loadImage("feuille.jpg"); 
  image[21] = loadImage("ciseaux.jpg");
  image[22] = loadImage("pierre.jpg"); 
  image[23] = loadImage("feuille.jpg"); 
  image[24] = loadImage("ciseaux.jpg");
  image[25] = loadImage("pierre.jpg"); 
  image[26] = loadImage("feuille.jpg"); 
  image[27] = loadImage("ciseaux.jpg");
  image[28] = loadImage("pierre.jpg"); 
  image[29] = loadImage("feuille.jpg"); 
  image[30] = loadImage("ciseaux.jpg");

  minim = new Minim(this); 
  minim.debugOn(); 
  in = minim.getLineIn(Minim.STEREO, 512); 



void draw() { 
  canalyseur += in.mix.level(); 
  volume = map(in.mix.level(), 0.0, 0.9, 0, 255); 
  volumeLisse = (1 - alpha) * volume + alpha * volumeLisse; //LISSAGE 
   
  if (volume >= seuil && canalyseur >= seuil/10 && curseur < image.length - 1) { 
    volume = 0; 
    curseur += 1; 
    canalyseur = 0; 
  } 
  afficherImg(curseur); 

 
void afficherImg(int indexImage) { 
  tint(255, 255); 
  image(image[indexImage], 0, 0); // IMG EN DESSOUS 
  tint(255, volumeLisse); 
  if (indexImage < 2) { 
    image(image[indexImage], 0, 0); // IMG EN DESSUS 
  } else { 
    tint(255, volumeLisse); 
    image(image[indexImage], 0, 0); // SI DERNIERE IMG, EN DESSUS 
  } 


void stop() { 
  in.close(); 
  minim.stop(); 
  super.stop(); 
}
--

Hors ligne

 

#2 2016-04-21 00:04:59 Re : Reset programme

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Reset programme



Bonsoir,

Il est assez difficile de voir ce que réalise ton programme sans le tester. Il est bon de mettre son sketch sous forme d'un zip avec les images.
Ce que j'ai pu voir, c'est qu'à chaque frame, tu inspectes le niveau sonore et tu affiches une image. Comme tu n'as pas modifier le frameRate, le comportement dépend principalement de la variable catalyseur.
Il est bon aussi d'initialiser tes variables.
curseur doit être initialisé à 0 dans le setup()


void mousePressed() {
  curseur = 0;
}

Hors ligne

 

#3 2016-04-21 00:11:48 Re : Reset programme

Rávion
membre
Date d'inscription: 2015-11-06
Messages: 20

Re: Reset programme



Merci pour tes explications:)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024