AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-55%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
49.99 € 109.99 €
Voir le deal

 

 [Résolu] Déplacement objet animé : problème sprite :'(

Aller en bas 
3 participants
AuteurMessage
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 11:16

Bonjour,
Je suis novice sur GM. Je l'ai découvert récemment car je cherche à créer un jeu type mario-like. J'utilise jusqu'à présent les icônes de GM 8.1 Lite. Sur ce forum j'ai trouvé ce code pour des déplacements standards (https://cbna.forumactif.com/t8902-tutorial-faire-un-jeu-de-plateforme), mais rien qui résout mon problème Sad

En effet, j'ai essayé avant plusieurs combinaisons qui marchaient toutes : mon perso se déplace vers la gauche et la droite en s'animant. Tout le problème est quand je veux qu'à l'arrêt il m'affiche le sprite du perso statique. J'ai utilisé les icônes Key Release. Ça marche sauf que... si j'ai le malheur d'appuyer par exemple à gauche tout en relâchant à droite (en même temps en fait), mon perso va en reculant avec le sprite statique. C'est très frustrant, car ça oblige à relâcher la touche droite ou gauche avant de re-appuyer sur une direction Sad

J'ai parcouru google et le forum sans résultat. Je n'arrive pas à comprendre comment résoudre ce problème :/
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 12:15

Dans step :
Code:

if !keyboard_check(vk_left) && !keyboard_check(vk_right)
{
sprite_index=nom_de_ton_sprite_statique
}
C'est a mettre dans une action execute a piece of code.
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 12:41

Merci de me répondre aussi rapidement Smile

Ça a presque résolu mon problème Very Happy L'utilisation des flèches du clavier ne bug presque plus avec les sprites d'animation (un coup de temps en temps, il fait du moonwalk, lol).
Par contre, j'aimerai que la direction du sprite statique soit déterminé par la direction des flèches (je vais à droite, je m'arrêtes, le perso regarde vers la droite, et inversement)
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 12:48

Tu fais une variable last_arrow qui vaut gauche quand tu appuis sur la fleche gauche et droite quand t'appuis sur le fleche droite et dans l'event step tu fais if last_arrow="gauche" sprite_index=sprite_gauche et pareil pour la droite.

Si t'arrive pas dis le moi je te ferais une exemple.
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 13:07

J'ai essayé mais j'ai une erreur de code à l’exécution du jeu :/

J'ai bien créé la "set variable" dans les Event "press key" left et right (avec variable=last_arrox, value=gauche pour left, etc.)
Puis j'ai ajouté à la fin du code de l'évent Step les lignes :
Code:
if last_arrow="gauche" sprite_index=nom de mon sprite

if last_arrow="droite" sprite_index=nom de mon sprite
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 13:40

As tu vérifié qu'il n'y a pas d'espaces dans le nom de ton sprite ?
Si il y en a, c'est ca qui fait buguer le jeu ; remplace les par des underscore(_)
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 13:50

Oui j'ai bien vérifié. Par contre il y a des Majuscule (je ne sais pas si c'est important).

J'ai l'erreur suivante :

Error in code at line 20:
if last_arrow="gauche" sprite_index=JDG_s_g
^
at position 5: Unknown variable last_arrow
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 14:07

Les majuscules c'est pas grave.
Pour l'erreur, il trouve pas ta variable ; donc c'est que tu l'as mal déclarée ; vérifie si t'as pas fait de fautes d'orthographe quelque part
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 14:08

last_arrow n'a pas été déclarée Smile

Dans create met last_arrow = "gauche" par exemple.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 14:10

Ah ouais pas bête j'avais pas pensé Yum!
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 15:25

Alors j'ai commencé par suivre le conseil de onilink_ (merci au passage)

Le jeu se lance, mais dès que j'appuie sur le flèche gauche ou droite du clavier, j'ai bug :

ERROR in
action number 2
of Key Press Event for <Right> Key
for object JDG:

Error in code at line 1:
last_arrow = droite
^
at position 14: Unknown variable droite

En suivant les conseils de Térence68, je suis retourner dans les Set Variable des Press Key, j'ai modifié value=gauche en value="gauche", de même à droite. Là le jeu se lance, je peux déplacer le personnage, à l'arrêt j'ai le bon sprite, sauf que je n'ai plus les animations du personnage.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 15:32

Donne nous ton code entier stp.
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 15:35

Information about object: JDG
Sprite: JDG_s_d
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:

Create Event:

execute code:

gravitySpeed=1 //Vitesse de la gravité
movespeed=6 //Vitesse de mouvement
jumpSpeed=14 //Puissance de saut
last_arrow="gauche"

Step Event:

execute code:

d = 0;
d = keyboard_check (vk_right) - keyboard_check(vk_left) ;
if d != 0 and place_free(x+d*movespeed,y) then {x += d*movespeed}

if place_free(x,y+1) then
{
if place_free(x,y+3)
gravity = gravitySpeed;
gravity_direction = 270;
}
else
{
gravity = 0;
if keyboard_check(vk_up) and place_free(x,y-4) then
{
vspeed = -jumpSpeed;
}
}

if last_arrow="gauche" sprite_index=JDG_s_g

if last_arrow="droite" sprite_index=JDG_s_d

Collision Event with object bloc:

execute code:

move_contact_solid(direction,speed-1);
vspeed = 0;

Key Press Event for Key:

set the sprite to JDG_w_g with subimage 0 and speed 1
set variable last_arrow to "gauche"
Key Press Event for Key:

set the sprite to JDG_w_d with subimage 0 and speed 1
set variable last_arrow to "droite"
______________________________________________________

Information about object: bloc
Sprite: bloc
Solid: true
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 15:39

Dans les event keys vire les set the sprites.... : ca fait doublon puisque la variable last_arrow est censée faire la même chose.
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 15:59

Je l'ai fait mais ça ne change rien.
Mais en plus j'ai du mal à comprendre, car si j'enlève ces derniers je n'ai plus aucune référence à mes sprites d'animation (qui sont différent des sprites statiques) comment alors apparaitront-ils ?
(ça me pose d'autant plus question qu'après il me faudra aussi inclure un srpite "saut" pour mon personnage)
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:07

Il affiche tout seul a chaque step le sprite_index donc, si tu modifie cette variable c'est bon.

if keyboard_check(vk_left) sprite_index=sprite_gauche
Else if keyboard_check(vk_right) sprite_index=sprite_droite
Else sprite_index=sprite_immobile
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:16

Ok, mais comment procéder, je colle ton code à la fin du code Step ?
Ou je dois remplacer la ligne "d = keyboard_check (vk_right) - keyboard_check(vk_left" ?
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:18

a la fin (mais j'ai pas compris ce bout de code donc...)
Mais essaie et tu verra bien si ca marche mrgreen2
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:22

Désolé mais ça ne marche pas, il doit y avoir un problème de syntaxe car la ligne "Else if keyboard_check(vk_right) sprite_index=sprite_droite" affiche un rectangle rouge dans l'éditeur de code.
Et j'ai ce bug :
COMPILATION ERROR in code action
Error in code at line 25:
Else if keyboard_check(vk_right) sprite_index=JDG_w_d
^
at position 7: Assignment operator expected.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:24

else s'écrit en minuscule x)
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:25

correction : j'ai mis un "e" minuscule à "else" et ça passe. Par contre, toujours aucune animation des sprites.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:27

Oui désolé c'est Android qui me met des majuscules a chaque début de ligne... mrgreen2
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:29

T'es sur que t'as mis les bons noms de sprites ? gnii
Et ils sont animés tes sprites ?? gnii

Parce que sinon je vois vraiment pas ou est le problème....
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:33

Oui j'ai mis les bons noms et ils sont animés gnii
D'ailleurs si je me contente du code dans Step, des Event Press Key avec la fonction Change Sprite ça fonctionne (sauf bien sûr qu'à l'arrêt il court sur place, lol)
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 16:38

Après j'avais testé aussi cette solution un peu "batarde" en utilisant l'Event keys>not-key :

Information about object: JDG
Sprite: JDG_s_d
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:

Create Event:

execute code:

gravitySpeed=1 //Vitesse de la gravité
movespeed=6 //Vitesse de mouvement
jumpSpeed=14 //Puissance de saut

Step Event:

execute code:

d = 0;
d = keyboard_check (vk_right) - keyboard_check(vk_left) ;
if d != 0 and place_free(x+d*movespeed,y) then {x += d*movespeed}

if place_free(x,y+1) then
{
if place_free(x,y+3)
gravity = gravitySpeed;
gravity_direction = 270;
}
else
{
gravity = 0;
if keyboard_check(vk_up) and place_free(x,y-4) then
{
vspeed = -jumpSpeed;
}
}


Collision Event with object bloc:

execute code:

move_contact_solid(direction,speed-1);
vspeed = 0;

Keyboard Event for Key:

set the sprite to JDG_s_d with subimage 0 and speed 0
Key Press Event for Key:

set the sprite to JDG_w_g with subimage 0 and speed 1
Key Press Event for Key:

set the sprite to JDG_w_d with subimage 0 and speed 1

Ça marche si ce n'est que lorsqu'il va vers la gauche et s'arrête il se retrouve vers la droite.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 19:15

Ben alors dans ton event key_press(no_key) tu fais :
Code:

If direction>90 && direction<270 sprite_index=sprite_gauche_immobile else sprite_index=sprite_droite_immobile
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 22:16

J'ai essayé, mais apparemment il y a un problème aussi de syntaxe du code et donc ça bug en lançant le test du jeu.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 22:29

enlève la majuscule au if
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 22:48

Effectivement ça ne bug plus, mais le résultat n'est pas concluant, ça ne change rien.
Revenir en haut Aller en bas
chefgeorges
Pas mal
chefgeorges


Messages : 30

[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( EmptyMar 7 Aoû 2012 - 23:05

J'AI TROUVE LA SOLUTION ! Very Happy

Dans l'évent <no_key> j'ai mis le code suivant :
Code:
if keyboard_check_released(vk_right) sprite_index=JDG_s_d
if keyboard_check_released(vk_left) sprite_index=JDG_s_g

Et là tout marche parfaitement Smile

Merci beaucoup pour ton aide précieuse, en quelques heures j'en ai déjà appris beaucoup ^^
Revenir en haut Aller en bas
Contenu sponsorisé





[Résolu] Déplacement objet animé : problème sprite :'( Empty
MessageSujet: Re: [Résolu] Déplacement objet animé : problème sprite :'(   [Résolu] Déplacement objet animé : problème sprite :'( Empty

Revenir en haut Aller en bas
 
[Résolu] Déplacement objet animé : problème sprite :'(
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» animation de sprite par un objet (résolu)
» [RESOLU] problème sprite gif lors du déplacement
» [Résolu] draw sprite animé
» [resolu]sprite qui freeze et donc ne s'anime pas
» Déplacement d'un objet aussi fluide qu'un draw event[Résolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: