Discord
Connexion
Communauté
THEME SOMBRE

switch des sprites lors du déplacement

Bonjour!

Je suis tout nouveau et je découvre la plateforme autant que la programmation (merci le SHADOK à Strasbourg!)

Mes motivations sont le plaisir et l'apprentissage mais dur dur lorsqu'on part de zéro :)

J'ai fait le tuto "visite guidée" et "programmation" et me suis arrêté la pour le moment, le temps d'assimiler le langage et de comprendre ce que j'ai pu voir.

D’où ma publication et je vais essayer d'être le plus clair possible!

Je suis dans le tout début, le dessin des sprites et le mouvement.

J'ai dessiné trois sprites pour un même personnage:

  • "iconeface"
  • "iconeprofildroite"
  • "iconeprofilegauche"

En suivant le tuto, je sais déplacer mon personnage comme expliqué dans les quatre directions et en diagonale mais pour un unique sprite.

Ce que je voudrais faire :

  • si aucune touche du clavier pressée => screen.drawSprite("iconeface",x,y)
  • si keyboard.LEFT then x = x-1 + screen.drawSprite("iconeprofilegauche")
  • si keyboard.RIGHT then x = x+1 + screen.drawSprite("iconeprofildroite")

Pour UP et DOWN je voudrais que le personnage se déplace en "iconeface"

Pour les diagonales :

  • UP + RIGHT et DOWN + RIGHT je voudrais que le personnage se déplace en "iconeprofiledroite"
  • UP + LEFT et DOWN + LEFT je voudrais que le personnage se déplace en "iconeprofilegauche"

Il ne s'agit la que d'afficher un sprite différent en fonction de la direction donnée par le joueur et du coup, des touches du clavier appuyées.

Facile à penser mais j'ai pas réussi à l’appliquer...

J’espère avoir été clair et merci d'avance pour l'aide :)

Tu pourrais par exemple utiliser une variable sprite_actuel pour mémoriser le nom du sprite en cours. Et donc tu ferais dans update() :

if keyboard.LEFT then
  x = x-1
  sprite_actuel = "iconeprofilegauche"
elsif keyboard.RIGHT then
  x = x+1
  sprite_actuel = "iconeprofildroite"
else
  sprite_actuel = "iconeface"
end

puis dans draw() :

  screen.drawSprite( sprite_actuel , x , y , 20 )

Poster une réponse

Avancement

Statut

Aperçu
Annuler
Poster
Validez votre adresse e-mail pour participer à la communauté