Projet processing
Code de l’objet
class Objet {
PImage img;
float x;
float y;
float largeur;
float hauteur;
float vitesseX = 0;
float vitesseY = 0;
int visible = 1;
Objet () {
x = y = largeur = hauteur = 0;
}
void setImage (PImage i) {
img = i;
largeur = i.width;
hauteur = i.height;
}
void update() {
x = x + vitesseX;
y = y + vitesseY;
}
void afficher () {
if (visible == 1) {
image (img, x, y, largeur, hauteur);
}
}
boolean collision(Objet autre) {
boolean resultat = false;
if (autre.x > x - autre.largeur && autre.x + autre.largeur < (x + largeur + autre.largeur)) {
if (autre.y > y - autre.hauteur && autre.y + autre.hauteur < y + hauteur + autre.hauteur) {
resultat = true;
}
}
return resultat;
}
}
Code du programme
Objet singe;
Objet asteroid;
Objet cadeau;
PImage imgSinge;
PImage imgAst;
PImage imgCadeau;
float ratio = .25;
void setup () {
fullScreen();
imgSinge = loadImage("singe.png");
imgAst = loadImage ("asteroid.png");
imgCadeau = loadImage ("cadeau.png");
singe = new Objet();
singe.setImage (imgSinge);
singe.largeur = imgSinge.width * ratio;
singe.hauteur = imgSinge.height * ratio;
singe.x = width / 2;
asteroid = new Objet();
asteroid.setImage (imgAst);
asteroid.x = width;
asteroid.y = random (0, height - imgAst.height);
asteroid.hauteur = asteroid.hauteur * ratio;
asteroid.largeur = asteroid.largeur * ratio;
asteroid.vitesseX = -15;
cadeau = new Objet();
cadeau.setImage (imgCadeau);
cadeau.x = random (0, width - imgCadeau.width);
cadeau.y = -imgCadeau.height;
cadeau.hauteur = cadeau.hauteur * ratio;
cadeau.largeur = cadeau.largeur * ratio;
cadeau.vitesseY = 5;
}
void draw() {
background(0);
asteroid.update();
if (asteroid.x < 0) {
asteroid.x = width;
asteroid.y = random (0, height - asteroid.hauteur);
}
cadeau.update();
if (cadeau.y > height) {
cadeau.y = -cadeau.hauteur;
cadeau.x = random (0, width - cadeau.largeur);
cadeau.vitesseY = random (5, 15);
}
singe.update();
if (cadeau.collision (asteroid)) {
fill (0, 200, 0);
rect (cadeau.x, 0, cadeau.largeur, height);
fill (200, 0, 0);
rect (0, asteroid.y, width, asteroid.hauteur);
}
cadeau.afficher();
singe.afficher();
asteroid.afficher();
}
Laisser un commentaire