Annonce

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


#1 2015-12-30 17:31:10 Je n'arrive pas a arreter le void menu

Koruya
nouveau membre
Date d'inscription: 2015-12-30
Messages: 7

Je n'arrive pas a arreter le void menu



Bonjour , bon voila je cherche a faire un jeux vidéos et je suis bloquer au niveau du menu ( le jeux que je vais linker n'est pas celui que je vais utilisé comme projet final ). En faite mon soucis c'est quand je clique dans le menu et sur New game le jeu se lance bien mais que pendant un certain moment car en effet c'est une boucle le void menu est à nouveau utilisé donc. Désolé si je n'arrive pas a m'exprimer correctement voici mon code je reste ouvert a toute questions qui peuvent m'aider

Merci

Dernière modification par Koruya (2015-12-30 17:33:26)

Hors ligne

 

#2 2015-12-30 18:58:44 Re : Je n'arrive pas a arreter le void menu

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

Re: Je n'arrive pas a arreter le void menu



Bonsoir,

Afin que l'on puisse t'aider aisément, il est souhaitable d'avoir tous les fichiers à notre disposition. Il faut compresser le dossier de ton projet Processing.
DE plus, il y a un bug dans Codelab, il faut éviter les caractères accentués pour que le code puisse s'afficher.

Pour ton problème, il faut distinguer deux états. Un état de jeu et l'autre le menu. Il faut stocker ces états dans une variable booléenne.
Dans la méthode draw() on bifurque pour l'affichage en fonction de l'état.

import ddf.minim.*; // On importe une librairie nommee minim qui a pour fonction : lire un son 
Minim minim; // On declare la librairie permettant l'utilisation du son 
AudioPlayer Urban_Tough ; // On declare le fichier Urban_Tough comme un AudioPlayer
PFont test; // Police creer 
PImage Fondmenu ; // INtegration d'une photo nommee Fondmenu
int vie ;
int score ;
float yRaquetteG ;
float dyRaquette ;
float xBalle;
float yBalle;
float dx; // deplacement de la balle verticalement 
float dy ; // deplacement de la balle horizontalement
boolean jeu;

void setup() {
  size(800, 800);
  Fondmenu = loadImage("Terre.jpg"); // Telechargement de la photo Fondmenu
  test = loadFont("AlBayan-48.vlw"); // Police telecharger "Gazzarelli-48.vlw"
  textFont(test, 40);
  minim = new Minim(this); // Cette ligne est utilisee pour dire que la librairie sera utilisee dans ce sketch
  Urban_Tough= minim.loadFile("Urban_Tough.mp3");// Telechargement du son nomme Urban_Tough grace a minim   
  xBalle=30 ; 
  yBalle=height/2 ;
  dx=5 ;
  dy=-5;
  dyRaquette=5 ;
  yRaquetteG=height/2;
  smooth();
  vie = 3 ;
  jeu = false;
}

void draw() {
  if (jeu) {
    dessineBalle ();
    dessineRaquette () ; 
    rebond() ;
    deplaceBalle() ;
    deplacementRaquette();
    rebondRaq () ;
    AfficheScore () ;
    AfficheVie () ;
  } else {
    menu();
    souris();
  }
}

void menu() {
  //Urban_Tough.play();
  image(Fondmenu, 0, 0);
  text("new game", 300, 500);
  text("Chapter", 300, 600);
  text("Options", 300, 700);
}

void souris() {
  if (mouseX>=300 && mouseX <=560 && mouseY<=500 && mouseY>=470) {
    if (mouseButton == LEFT) {
      jeu = true;
      restart () ;
    }// Dans cette zone le curseur sera une main 
    cursor(HAND);
  } else if (mouseX>=300 && mouseX <=500 && mouseY<=600 && mouseY>=570) { 
    cursor(HAND);
  } else if (mouseX>=300 && mouseX <=500 && mouseY<=700 && mouseY>=670) {
    cursor(HAND);
  } else
    cursor(ARROW); // En dehors des trois zones le curseur sera une fleche
}


void stop() { // Void permettant la fin de la librairie Minim 
  Urban_Tough.close();
  minim.stop();
  super.stop();
}

void dessineRaquette () {
  rectMode (CENTER); // Ca permet a la raquette d'etre dessine par le haut
  rect(20, yRaquetteG, 10, 80); // la raquette gauche
}

void dessineBalle () {
  background(255, 168, 5);
  ellipse(xBalle, yBalle, 20, 20);
}

void rebond () {
  if (xBalle>=790 || xBalle <10)
  {
    dx=-dx ;
  }
  if (yBalle>=790 || yBalle<10)
  {
    dy=-dy ;
  }
}
void deplaceBalle() {
  xBalle=xBalle+dx ; // xBalle+=dx
  yBalle=yBalle+dy ;
}

void deplacementRaquette() {
  println(frameCount);
  if (keyPressed) {
    if (key=='s'&& yRaquetteG<=760) {
      yRaquetteG=yRaquetteG+dyRaquette ;
    }
    if (key=='z'&& yRaquetteG>=0) {
      yRaquetteG=yRaquetteG-dyRaquette ;
    }
  }
}

void rebondRaq() {
  if (xBalle<30&&yRaquetteG-40<=yBalle&&yBalle<=yRaquetteG+40) {
    dx=-dx ;
    score = score +1 ;
  }
  if (xBalle<10) {
    vie = vie -1  ;
    if (vie==0 ) {
      noLoop() ;
      text("GAME OVER ", 400, 400);
    }
  }
}

void AfficheScore() {
  fill(0);
  text("Score ="+score, 400, 20 );
}

void AfficheVie() {
  fill(0);
  text(" vie= "+vie, 400, 780);
}

void restart () { // remise a zero 
  if (xBalle<10) {
    yBalle =400;
    xBalle =30 ;
    yRaquetteG=height/2 ;
  }
}

Hors ligne

 

#3 2015-12-30 19:41:06 Re : Je n'arrive pas a arreter le void menu

Koruya
nouveau membre
Date d'inscription: 2015-12-30
Messages: 7

Re: Je n'arrive pas a arreter le void menu



OKay super merci , je ferais mes changement demain et je vous tiendrais au courant merci à vous

Hors ligne

 

#4 2016-01-03 14:13:32 Re : Je n'arrive pas a arreter le void menu

Koruya
nouveau membre
Date d'inscription: 2015-12-30
Messages: 7

Re: Je n'arrive pas a arreter le void menu



J'ai complétement oublier de vous répondre ... Je m'en excuse et merci c'est juste superbe et j'ai bien compris smile
Merci pour votre temps

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025