NEW il y a 5 ans
Voici le code que j'ai fait. il est commenté;Voici ce que j'ai voulu faire : lorsque le personnage va a droite, la carte va a gauche et inversement...
https://gist.github.com/Martisse/15547028ebf1a4b6a5a88aaf5cdb3288
Codnpix
il y a 5 ans
Sympatique petit univers :) !
Voici une proposition très simple de ce que tu pourrais faire, c'est exactement le même principe que mon exemple plus haut :
int positionCamera; void setup() { //... } void loop() { while(!gb.update()); gb.display.clear(); //ENTREE if(gb.buttons.repeat(BUTTON_RIGHT, 1)) { //déplacer personnage a droite playerPosition_x = playerPosition_x + 1; //position_carte = position_carte - 1; pas besoin de faire bouger la carte, la position du joueur suffit pour faire le calcul } if(gb.buttons.repeat(BUTTON_LEFT, 1)) { //déplacement personnage a gauche playerPosition_x = playerPosition_x - 1; //position_carte = position_carte + 1; } if(gb.buttons.pressed(BUTTON_B)) { arme = 1; } //calcul positionCamera en fonction de playerPosition_x :if(playerPosition_x <= gb.display.width() / 2) positionCamera = 0;//pour que la camera n'aille pas au delà de l'image si le sprite arrive au bord à gauche else if (playerPosition_x >= 200) positionCamera = - 240 + gb.display.width();//même chose pour le bord droit else positionCamera = (gb.display.width() / 2) - playerPosition_x;//sinon la camera suit le sprite //AFFICHAGE gb.display.drawImage(positionCamera, 0, carte_1Data); //carte gb.display.drawImage(positionCamera + playerPosition_x, 40, heroData); //héroine //il faut ajouter la position de la camera à celle du joueur pour que la relation soit établie. gb.display.drawImage(positionCamera + 60, 40, ennemi_1Data); //ennemi gb.display.setColor(BLACK); gb.display.fillRect(0,0, 80,7); //carré noir affichant les donneés du jeu gb.display.drawImage(2,0,faimData); //barre de faim gb.display.drawImage(9,0,faimData); //barre de faim gb.display.drawImage(16,0,faimData); //barre de faim gb.display.drawImage(56,0, coeurData); //coeur gb.display.drawImage(64,0, coeurData); //coeur gb.display.drawImage(72,0, coeurData); //coeur gb.display.setCursor(31,1); gb.display.print("epee"); //type d'arme }
NEW il y a 5 ans
Sympatique petit univers :) !
Voici une proposition très simple de ce que tu pourrais faire, c'est exactement le même principe que mon exemple plus haut :
int positionCamera; void setup() { //... } void loop() { while(!gb.update()); gb.display.clear(); //ENTREE if(gb.buttons.repeat(BUTTON_RIGHT, 1)) { //déplacer personnage a droite playerPosition_x = playerPosition_x + 1; //position_carte = position_carte - 1; pas besoin de faire bouger la carte, la position du joueur suffit pour faire le calcul } if(gb.buttons.repeat(BUTTON_LEFT, 1)) { //déplacement personnage a gauche playerPosition_x = playerPosition_x - 1; //position_carte = position_carte + 1; } if(gb.buttons.pressed(BUTTON_B)) { arme = 1; } //calcul positionCamera en fonction de playerPosition_x :if(playerPosition_x <= gb.display.width() / 2) positionCamera = 0;//pour que la camera n'aille pas au delà de l'image si le sprite arrive au bord à gauche else if (playerPosition_x >= 200) positionCamera = - 240 + gb.display.width();//même chose pour le bord droit else positionCamera = (gb.display.width() / 2) - playerPosition_x;//sinon la camera suit le sprite //AFFICHAGE gb.display.drawImage(positionCamera, 0, carte_1Data); //carte gb.display.drawImage(positionCamera + playerPosition_x, 40, heroData); //héroine //il faut ajouter la position de la camera à celle du joueur pour que la relation soit établie. gb.display.drawImage(positionCamera + 60, 40, ennemi_1Data); //ennemi gb.display.setColor(BLACK); gb.display.fillRect(0,0, 80,7); //carré noir affichant les donneés du jeu gb.display.drawImage(2,0,faimData); //barre de faim gb.display.drawImage(9,0,faimData); //barre de faim gb.display.drawImage(16,0,faimData); //barre de faim gb.display.drawImage(56,0, coeurData); //coeur gb.display.drawImage(64,0, coeurData); //coeur gb.display.drawImage(72,0, coeurData); //coeur gb.display.setCursor(31,1); gb.display.print("epee"); //type d'arme }
NEW il y a 5 ans
Arf... avec le décalage horaire, tu m'as devancé (j'suis allé me coucher + tôt que toi !).
Bon, ben il semble que le pbm soit résolu :-)