| [Résolu] Variable locale "image_speed" non exécuté | |
|
|
Auteur | Message |
---|
Invité Invité
| Sujet: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 21:10 | |
| Bonsoir, J'ai un problème tout simple mais je ne trouve aucune solution. Le code est divisé en 2 parties : - Une partie pour le déplacement du personnage à gauche.
- Une partie pour le déplacement du personnage à droite.
CODE :// Gaucheif keyboard_check( vk_left) || keyboard_check( ord('A')) { if place_free( x-4, y) { image_speed = 0.3; image_xscale = -1; x -= 4; }}else{ image_speed = 0; }// Droiteif keyboard_check( vk_right) || keyboard_check( ord('D')) { if place_free( x+4, y) { image_speed = 0.3; image_xscale = 1; x += 4; }}else{ image_speed = 0; }- Le déplacement à droite est correct, la fonction image_speed est bien exécuté.
- Le déplacement à gauche n'est pas correct, la fonction image_speed n'est pas exécuté.
Ma question : pourquoi ?!
Dernière édition par Fresh le Mer 14 Sep 2011 - 23:05, édité 1 fois |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 21:35 | |
| Essaye
// Gauche if keyboard_check(vk_left) || keyboard_check(ord('A')) { if place_free(x-4,y) { image_speed = 0.3; image_xscale = -1; x -= 4; } } else if keyboard_check(vk_right) || keyboard_check(ord('D')) { if place_free(x+4,y) { image_speed = 0.3; image_xscale = 1; x += 4; } } else { image_speed = 0; } |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 21:36 | |
| Bonsoir tu peut essayer : - Code:
-
if keyboard_check(vk_left) or keyboard_check(ord('A')) or keyboard_check(vk_right) or keyboard_check(ord('D')) { dh = -4; ixscale = -1;
if ( ( keyboard_check(vk_left) || keyboard_check(ord('A')) ) and place_free(x-4,y) ) { image_xscale = ixscale; x -= dh; } else if ( ( keyboard_check(vk_right) or keyboard_check(ord('D')) ) and place_free(x+4,y) ) { image_xscale = abs(ixscale); x += abs(dh); } image_speed = 0.3; } else image_speed = 0;
Edition: dépassé par maître onilink_ |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 21:48 | |
| Je te conseille d'utiliser des boucles pour avoir des collsions au pixel près + séparer déplacement et draw |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 21:52 | |
| Ouai enfin vu son code on vois bien qu'il s'entraine. Et sinon image_speed c'est pas une fonction, c'est une variable locale ps:quand tu sentiras chaud passe a l'atelier 2, c'est spécial jeux de plateforme. |
|
| |
Invité Invité
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 22:23 | |
| Merci beaucoup pour votre aide !Jbg > J'aimerais bien mais je sais pas comment faire. Oni > Oui, je regarderai le 2ème atelier dès que possible. J'ai juste une autre question avant de clore le sujet, mon sprite devient flou quand il se déplace (mais pas toujours), pourquoi ? - À gauche : sprite normal
- À droite : sprite flouté sans raisons (?)
Voici le code en entier qui tient dans un Step : - Spoiler:
// Gravité if place_free(x,y+1) { gravity = 0.5; gravity_direction = 270; } else { gravity = 0; gravity_direction = 270; }
// Limiter la gravité if vspeed <- 12 { vspeed = -12; }
// Gauche if keyboard_check(vk_left) || keyboard_check(ord('A')) { if place_free(x-4,y) { image_speed = 0.3; image_xscale = -1; x -= 4; } } // Droite else if keyboard_check(vk_right) || keyboard_check(ord('D')) { if place_free(x+4,y) { image_speed = 0.3; image_xscale = 1; x += 4; } } else { image_speed = 0; }
// Haut if keyboard_check_pressed(vk_up) || keyboard_check(ord('W')) && !place_free(x,y+1) { vspeed = -6.8; }
Si quelqu'un peut m'aider pour ça, ce serait vraiment bien ! Merci par avance. |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 22:35 | |
| Essaye de mettre à la toute fin du Step : - Code:
-
x=round(x); y=round(y); (Je mise sur un problème d'interpolation) |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 22:36 | |
| Ça c'est surement un problème de coordonnées flottantes.
Essaye de mettre : #draw event draw_sprite_ext(sprite_index, image_index, round(x), round(y), image_xscale, image_yscale, image_angle, image_blend, image_alpha)
Lol Deezee qu'a la flemme d’écrire un draw_sprite :p |
|
| |
Invité Invité
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 23:04 | |
| Deezee > Au début du jeu, le personnage tombe sur une plateforme. Avec ton code, il devenait flou mais tout le reste, c'était ok. Onilink > Avec le tiens, ça marche nickel du début à la fin. Merci beaucoup ! |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 23:15 | |
| (Dire que c'est censé faire exactement la même chose...) |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Mer 14 Sep 2011 - 23:38 | |
| Nan je touche pas au coordonnées, toi si :p |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Jeu 15 Sep 2011 - 15:04 | |
| Oui, mais au final le sprite (qui s'affiche en (x,y)) devrait être affiché correctement... Mystère de GM ? |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Jeu 15 Sep 2011 - 18:18 | |
| - Citation :
- J'aimerais bien mais je sais pas comment faire.
- Code:
-
//SPRITE ET ANIMATION if (keyboard_check(vk_left))// Si j'appuie sur fleche gauche image_xscale=-1;//mon sprite se tourne vers la gauche else if (keyboard_check(vk_right))// Si j'appuie sur fleche droite image_xscale=1; //mon sprite se tourne vers la droite if (x==xprevious && y==yprevious && not place_free(x,y+1))//si x=xd'avant et y=yd'avant donc si je bouge pas et qu'il n'y pas de place en dessous action="idle";//mon action est l'arret else if (vsp==0 && y==yprevious && not place_free(x,y+1))//si la gravité est nul et que y==yprevious et qu'il n'y pas de place en dessous action="walk";//mon action est la marche else//sinon mon action forcement le saut action="jump";//mon action est le saut switch(action)//swith de condition pour la variable action { case "idle"://si action==idle sprite_index=spr_player_idle//mon sprite est égale au sprite arret break; case "walk"://si action==walk sprite_index=spr_player_walk//mon sprite est égale au sprite marche image_speed=0.125//l'image speed = 0.125 de la vitesse de la room break case "jump"://si action==jump sprite_index=spr_player_jump//mon sprite est égale au sprite saut break } Le reste ici : http://www.host-a.net/u/jbg77/%5BGmk%5DVery%20Simple%20platform%20engine%20de%20jbg77.gmk |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Jeu 15 Sep 2011 - 18:44 | |
| jbg77, c'est bien beau de spammer les templates mais c'est bien aussi de laisser les gens faire leur sauce histoire d'apprendre... |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté Jeu 15 Sep 2011 - 19:22 | |
| Il me pose une question je lui répond... |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolu] Variable locale "image_speed" non exécuté | |
| |
|
| |
| [Résolu] Variable locale "image_speed" non exécuté | |
|