Bonjour a tous.
Alors j ai un projet a présenter en fin d année et pour vous dire je n ai pas du tout avance je suis tellement desespere avec toutes les autres révision que j ai a faire, j ai vraiment besoin d aide.
Alors j utilise processing et vous voyez mon jeu en faite c est comme paper tocs si vous ne voyez pas ce que je veux dire un faite on a une boule de papier et une poubelle et le but du jeune ben c est d marquer le plus de "but" et en faite on doit lancer en fonction de l angle et de la force qu on doit nous meme régler mais c est déjà fait le problème c est que la balle doit partir après qu on ai termine de régler notre force et notre angle mais ma bale ne fait que partir a chaque fois que j augmente ma force ou mon angle, j aimerai quelle rest dan la meme position durant le réglage et qu ensuite elle s envole. mais je désespère vraiment.
voici mon code:
float y;
float x=0;
float vitesse = 0.03;
float force=0;
float angle=0;
PImage a;//on définit a comme contenant une image
PImage b;//on définit b comme contenant une image
PImage c;//on définit c comme contenant une image
PImage d;//on définit d comme contenant une image
float sens=2.5;
float tire=0.5;
float posX=135;
float posY=405;
float sens2=0.1;
float posX2=55;
float posY2=325;
void setup()
{
size(750,450);
a=loadImage("chambre2.jpg");//on charge l'image, et on la stocke dans a
b=loadImage("POUBELLE_FOND.png"); //oncharge l'image, et on la stocke dans a
c=loadImage("boule02.gif");//oncharge l'image, et on la stocke dans a
d=loadImage("POUBELLE_DEVANT.png");//oncharge l'image, et on la stocke dans a
fill(30);
}
void draw()
{
image(a,0,0);
image(b,497,335,105,40);//on a plus qu'à afficher l'image
//pour ça, on utilise image(), et l'on met en paramètres la variable dans laquelle est stockée l'image,
//et ensuite sa position
x=x+vitesse;
y= angle*sin(x);
image(c,(x*force+30),350-y,45,35);
println("force",force);
println("angle",angle);
image(d,500,350,100,95);
fill(30);
if(x>3.14) x=0;
{
if (key== 'b')
{
if(x>3.14) x=0;
force= force +sens;
if(force>699)sens=-2.5;
if(force==0) sens=2.5;
fill(50,250,0);
rect(55,425,force/5,15);
if(force>233)
fill(240, 250, 0);
rect(55,425,force/5,15);
if(force>433)
fill(250,50, 0);
rect(55,425,force/5,15);
image(c,(x*force+30),350-y,45,35);
}
if (key == 'n'){
line(55,325,55,405);
line(55,405,135,405);
angle=angle+tire;
posX=posX+sens2;
posY=posY+sens2;
if (angle==0) tire=0.5; sens2=0.1;
if (angle>380)
tire=-0.5;
sens2=-0.1;
line(55,405,posX,posY);
}
}
}
void keyReleased()
{
if(key=='n'){ key='y';}
if(key=='b'){ key='x';}
}
SVP AIDEZ MOI
Hors ligne
Voilà, j'ai un peu modifier ton code.
Pas sûr que c'est ce que tu veux
La balise "code" ne fonctionne pas
float y;
float x=0;
float vitesse = 0.03;
float force=0;
float angle=0;
boolean start;
PImage a;//on définit a comme contenant une image
PImage b;//on définit b comme contenant une image
PImage c;//on définit c comme contenant une image
PImage d;//on définit d comme contenant une image
float sens=2.5;
float tire=0.5;
float posX=135;
float posY=405;
float sens2=0.1;
float posX2=55;
float posY2=325;
void setup()
{
size(750, 450);
a=loadImage("chambre2.jpg");//on charge l'image, et on la stocke dans a
b=loadImage("POUBELLE_FOND.png"); //oncharge l'image, et on la stocke dans a
c=loadImage("boule02.gif");//oncharge l'image, et on la stocke dans a
d=loadImage("POUBELLE_DEVANT.png");//oncharge l'image, et on la stocke dans a
fill(30);
}
void draw()
{
image(a,0,0);
fill(255, 0, 0);
image(b, 497, 335, 105, 40);//on a plus qu'à afficher l'image
fill(0, 255, 25);
rect(497, 300, 100, 40);
//pour ça, on utilise image(), et l'on met en paramètres la variable dans laquelle est stockée l'image,
//et ensuite sa position
if (start) {
x+=vitesse;
y= angle*sin(x);
}
fill(0, 0, 255);
image(c, (x*force+30), 350-y, 45, 35);
println("force", force);
println("angle", angle);
fill(255);
image(d, 500, 350, 100, 95);
fill(30);
if (x>3.14) x=0;
{
if (keyPressed == true && key == 'b')
{
start = false;
if (x>3.14) x=0;
force= force +sens;
if (force>699)sens=-2.5;
if (force==0) sens=2.5;
fill(50, 250, 0);
rect(55, 425, force/5, 15);
if (force>233) fill(240, 250, 0);
rect(55, 425, force/5, 15);
if (force>433)
fill(250, 50, 0);
rect(55, 425, force/5, 15);
rect((x*force+30), 350-y, 45, 35);
}
if (keyPressed == true && key == 'n') {
start = false;
line(55, 325, 55, 405);
line(55, 405, 135, 405);
angle+=tire;
posX+=sens2;
posY+=sens2;
if (angle==0) tire=0.5;
sens2=0.1;
if (angle>380)
tire=-0.5;
sens2=-0.1;
line(55, 405, posX, posY);
}
}
}
void keyPressed() {
if (key == 'g')
start = true;
}
Hors ligne
Merci beaucoup ça marche !!!!!!!!!!! (très heureuse )
Mais j ai un dernier problème en faite.
Excusez moi de vous déranger encore mais maintenant comment je fais pour que si la balle touche le bord de la poubelle cela fait que la balle ne rentre pas dans la poubelle il faudrait qu elle fasse un rebon et atterrisse sur le sol (normale quoi ) avez vous des idées pour ça ? Promit après je ne vous embêterai plus.
merci encore
Dernière modification par Anna (2017-04-27 21:37:07)
Hors ligne