float paletteY; float paletteX; float paletteLargeur = 75; float paletteHauteur = 10; float balleX; float balleY; float balleCote = 15; float balleVitX = random (3, 6); float balleVitY = random (3, 6); void setup(){ size(800, 600); paletteY = height - 5 * paletteHauteur; balleX = random (0, width); balleY = random (0, height / 2); } void draw(){ background(0); paletteX = mouseX - paletteLargeur / 2; // Limitation de la palette if (paletteX < 0) { paletteX = 0; } // Limitation de la palette if (paletteX + paletteLargeur > width) { paletteX = width - paletteLargeur; } balleX = balleX + balleVitX; balleY = balleY + balleVitY; // Vérification pour les limites en X de la balle if (balleX < 0 || balleX + balleCote > width) { balleVitX = -balleVitX; // Si c'est la balle dépasse la gauche, je remets // la balle X à 0; if (balleX < 0) { balleX = 0; } // Si c'est la balle dépasse la droite, je remets // la balle X à la largeur de l'écran - la dimension // de la balle if (balleX + balleCote > width) { balleX = width - balleCote; } } // Vérification pour les limites en Y de la balle if (balleY < 0 || balleY + balleCote > height) { balleVitY = -balleVitY; if (balleY < 0) { balleY = 0; } // Si la balle touche le bas, on recommence la position // et la vitesse de celle-ci if (balleY + balleCote > height) { balleX = random (0, width); balleY = random (0, height / 2); balleVitX = random (3, 6); balleVitY = random (3, 6); // Un but est compté!!! Faire le code! } } // Je vérifie si la balle dépasse la palette en Y if (balleY + balleCote > paletteY) { // Ensuite, je vérifie si la balle est dans les limites X // de la palette if (balleX > paletteX && balleX < paletteX + paletteLargeur) { // Les deux conditions sont vraies, alors je change la // direction verticale de la balle balleVitY = -balleVitY; } } rect (balleX, balleY, balleCote, balleCote); rect (paletteX, paletteY, paletteLargeur, paletteHauteur); }
Processing – Balle qui rebondit sur une palette
Voici le code
par
Étiquettes :
Laisser un commentaire