Communauté

Blocage sur un exer...
 
Notifications
Retirer tout

[Résolu] Blocage sur un exercice

10 Posts
2 Utilisateurs
0 Likes
258 Vu
0
Début du sujet

Bonjour, 

Je suis en train de bloquer sur un exercice tout bête je suis sur, je dois faire rebondir un perso de gauche à droite en le faisant changer de sens (c'est à dire quand il va à droite il regarde vers la droite et à gauche quand il va à gauche )

Mais je n'y arrive pas je bloque dessus, j'arrive bien à avoir le rebond sans soucis, j'arrive à le faire tourner de sens quand il arrive au bord droite mais il ne repart pas vers la gauche

Je n'arrive pas à trouver mon erreur, si vous avez un petit indice pour m'aider je serai preneur

J'ai fait afficher le sprite selon la vitesse positive ou négative ça vient surement de la mais je bloque

Merci de vos réponses

 

10 Réponses
0

@clael une copie de ton code nous aidera à t'aider.
Tu peux pour ça utiliser le site https://pastebin.com/

0
Début du sujet

J'ai tout remodifié parce que je partais sur un mauvais truc je pense. j'utilisé 2 variable pour les 2 sprites (gauche et droite ) la j'utilise 1 seule pour les 2 sprites mais je n'arrive plus à avoir le rebond :/

 

Ce message a été modifié Il y a 1 an parClael
0
Début du sujet

voici le code : 

img = {}
img.x = 0
img.y = 0
img.largeur = 67
img.hauteur = 85
img.Vitesse = 5

function love.load()

  imgR = love.graphics.newImage("images/personnage_Right.png")
  imgL = love.graphics.newImage("images/personnage_left.png")

  img.x = 0
  img.y = love.graphics.getHeight ()/2 - img.hauteur/2

end

function love.update(dt)

  img.x = img.x + img.Vitesse

  if img.x == love.graphics.getWidth () - img.largeur then
     img.x = img.x + img.Vitesse * -1
  end

end

function love.draw()

  if img.Vitesse == -5 then
     love.graphics.draw(imgL, img.x, img.y)
  end
  if img.Vitesse == 5 then
     love.graphics.draw(imgR, img.x, img.y)
  end

end

Ce message a été modifié Il y a 1 an parClael
0
Début du sujet

J'ai recommencé mais la j'ai même plus le rebond alors que j'utilse la même commande que pour le pong et que j'ai eu 0 soucis sur pong :/

0
Début du sujet

Ha je pense être sur la bonne voie mais il se bloque à droite il repart pas dans l'autre sens :p  @GamerPsy

Ce message a été modifié Il y a 1 an parClael
0
Début du sujet

ok j'ai trouvé mon erreur pour le rebond me reste plus qu'à faire l'autre côté et j'ai tout bon, j'ai le rebond et le changement d'orientation.... j'ai envie de me taper quand je fais des conneries comme ça mdr

 

0
Début du sujet

Bon tout est ok j'ai trouvé mes erreurs tout fonctione.... ça fait 2 heure que je suis dessus à chercher à faire des truc compliqué, j'ai tout effacé tout recommencé et en 5 minutes c'est réglé.... désolé pour le dérangement

0

Technique du canard en plastique ! 
Content que tu aies pu te débug tout seul.

 

Les joies du code 😉

0
Début du sujet

Je vous met le code final que j'ai obtenu, si vous pouvez me dire si il y' a encore plus simple? tous les points de vues sont bon à prendre 😉 @GamerPsy

 

img = {}
img.x = 0
img.y = 0
img.largeur = 67
img.hauteur = 85
img.Vitesse = 5

function love.load()

    imgR = love.graphics.newImage("images/personnage_Right.png")
    imgL = love.graphics.newImage("images/personnage_left.png")

    img.x = 0
    img.y = love.graphics.getHeight ()/2 - img.hauteur/2

end

function love.update(dt)

    img.x = img.x + img.Vitesse

    if img.x >= love.graphics.getWidth () - img.largeur then
       img.Vitesse = img.Vitesse * -1
    end

    if img.x <= 0 then
       img.Vitesse = img.Vitesse * -1
    end

end

function love.draw()

    if img.Vitesse == -5 then
       love.graphics.draw(imgL, img.x, img.y)
    end
    if img.Vitesse == 5 then
       love.graphics.draw(imgR, img.x, img.y)
    end

end

Ce message a été modifié Il y a 1 an parClael
0

Y a pas vraiment plus simple, le code c'est un langage et l'essentiel c'est que tu sois en capacité de te relire et de comprendre rapidement ce que tu exprimes dans ton code.
J'ai refactorisé ton code, tu peux tester :

img = {}
img.x = 0
img.y = 0
img.largeur = 67
img.hauteur = 85
img.Vitesse = 5


function love.load()
    imgR = love.graphics.newImage("images/personnage_Right.png")
    imgL = love.graphics.newImage("images/personnage_left.png")


    img.x = 0
    img.y = love.graphics.getHeight ()/2 - img.hauteur/2
end


function love.update(dt)
    img.x = img.x + img.Vitesse


    if img.x >= love.graphics.getWidth () - img.largeur or img.x <= 0 then
       img.Vitesse = img.Vitesse * -1
    end
end


function love.draw()
    side = img.Vitesse > 0 ? imgR : imgL;
    love.graphics.draw(side, img.x, img.y)
end
Répondre
Share:

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.