Accueil­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Script de marche incomprit

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
jerelink
Discret
Discret


Masculin Nombre de messages: 115
Age: 18
Programme utilisé (Gm/RmXp/...): game maker
Date d'inscription: 14/01/2006

MessageSujet: Script de marche incomprit   Jeu 1 Oct - 17:05

Bonjour a tous =p, je vient car j'ai un petit problème, sa va maintenant faire 1 mois que je cherche sans en trouvé la cause :D .
Ya pas mal de temps j'ai trouvé un script de marche pour un jeu type zelda, il marche super bien, seulement quelque chose "bug" je dirait.
Lors des collisions sur les pentes en diagonal en arrivant de gauche ou de droite sa va, mais en venant de haut ou bas, là, le perso va trop vite sur la collision o_o.....
J'ai pensé a un bug, un ami ayant un bien meilleur niveau que moi a pensé a sa aussi.
Sans tardé, voici le code (j'ai laissé les com expret) :
Spoiler:
 


Vous voyez la boucle for ?, c' est ici que sa se passe, la première condition, a l'interieur sa verifie que "si il y a de la place ici alors sa le deplace sinon on essaie de l'autre coté." Sa c' est pour left et right.
La deuxieme plus bas fait la même chose mais pour haut et bas, seulement, étrangement le perso se déplace plus vite oO.
Je remercie la personne qui résout ce casse tête sa serait vraiment super !
Merci et conne journée ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Xierra54
Admin - .: el traductor :.
Admin - .: el traductor :.


Masculin Nombre de messages: 8504
Age: 50
Programme utilisé (Gm/RmXp/...): GM (6.1 et 7 enregistrées), Purebasic (démo)
Etudes: Supérieures
Loisirs: ordinateur
Date d'inscription: 13/08/2005

MessageSujet: Re: Script de marche incomprit   Sam 24 Oct - 14:06

Personne ne souhaite répondre à Jerelink ?

PS : ayant arrêté GM depuis longtemps, je n'ai plus le niveau nécessaire pour remédier au souci de Jerelink.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://philippe.ragni.free.fr/
blblxy
Connaisseur
Connaisseur


Masculin Nombre de messages: 385
Age: 14
Programme utilisé (Gm/RmXp/...): Game Maker 7 Pro
Etudes: 3ème
Date d'inscription: 03/03/2009

MessageSujet: Re: Script de marche incomprit   Sam 24 Oct - 15:06

Xierra54 a écrit:
Personne ne souhaite répondre à Jerelink ?


j'aimerais bien mais je n'ai pas le niveau requis pour trouver la solution à la réponse
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.jenaipasunseuleuh!.com/
robinlife
Connaisseur
Connaisseur


Masculin Nombre de messages: 323
Age: 11
Programme utilisé (Gm/RmXp/...): GM 7
Loisirs: tous ce qui est bien(chuis un boss pour dessiner les mangas )
Date d'inscription: 24/06/2009

MessageSujet: Re: Script de marche incomprit   Sam 24 Oct - 16:36

moi non plus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fireranger
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin Nombre de messages: 1360
Age: 16
Programme utilisé (Gm/RmXp/...): Game Maker 7 PRO, Visual Basic 9.0, Visual C++ et Code::Blocks
Date d'inscription: 22/11/2007

MessageSujet: Re: Script de marche incomprit   Sam 24 Oct - 19:26

J'ai vérifié le script. Je n'ai pas trouvé quoi que ce soit d'anormal, sinon quelques optimisations qui peuvent être faites. Quelques conseils, réduit la valeur de cc (ln 27, for), remplace /sqrt(2) par *0.7071 (ln 110, movestep), etc. Sinon, pour ton problème de base, qu'est-ce que ça fait au juste ? La partie qui te dérange dans la boucle for fait ceci :
-si on ne peut pas aller à la position souhaitée;
-on regarde si on peut aller à cc en haut ou en bas;
-sinon, on réduit cc et on recommence

Et ça pour gauche/droite aussi. Ta room est elle étirée, joues-tu en plein écran ?

_________________
Guten Tag von Deutschland ^^


Jeu en cours : Ping Pong C++ en open source
Bibliothèque : SFML
Avancement : |||||||||| 100% !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
playboy
Timide
Timide


Masculin Nombre de messages: 25
Programme utilisé (Gm/RmXp/...): GM7.0 (pro)
Etudes: Université
Loisirs: Gamemaker
Date d'inscription: 11/09/2009

MessageSujet: Re: Script de marche incomprit   Dim 25 Oct - 0:46

Hooo il a pas mis résolu ? Dès qu'il a posé la question je l'ai contacté par MP pour lui proposer mon aide :) Il en est ressorti après 2 heures que j'ai trouvé la ligne incriminée et qui résout bien le soucis XD Donc ca date en faite la réponse mais je la remet ici ;)

Elle est au niveau du :

Code:
xstep=(holdr || fholdr)-(holdl || fholdl)
ystep=(holdd || fholdd)-(holdu || fholdu)
if (place_free(x+xstep,y)) { x+=xstep }
if (place_free(x,y+ystep)) { y+=ystep }


Ca regarde sur les Y après avoir fait la modifications des X ce qui n'est pas logique puisque la vérifications doit se faire en même temps ! Cela donne en correction :

Code:
xstep=(holdr || fholdr)-(holdl || fholdl)
ystep=(holdd || fholdd)-(holdu || fholdu)
if (place_free(x+xstep,y)) { x+=xstep }
if (place_free(x-xstep,y+ystep)) { y+=ystep }


Voila :)

Sinon Moi par contre j'ai comme avis que faire une boucle de 8 n'avais pas grand intérêt mais si vous arrivez à me prouvez le contraire. Sinon c'est vrai que ce script est beau :) Très très sympa et cool ! Chapeau à celui qui l'a sorti !

_________________
[Démo du RPG (30 Juin 2009) = Aeris] ------------------ [Jeux Finis/Mon topic = Laguna]


Dernière édition par playboy le Dim 25 Oct - 11:14, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fireranger
Possedé par Mark Overmars
Possedé par Mark Overmars


Masculin Nombre de messages: 1360
Age: 16
Programme utilisé (Gm/RmXp/...): Game Maker 7 PRO, Visual Basic 9.0, Visual C++ et Code::Blocks
Date d'inscription: 22/11/2007

MessageSujet: Re: Script de marche incomprit   Dim 25 Oct - 3:24

Pas tout à fait, car dans ce cas, si la condition en x ne s'effectue pas, il va encore y avoir une erreur...

Code:
xstep=(holdr || fholdr)-(holdl || fholdl)
ystep=(holdd || fholdd)-(holdu || fholdu)
if (place_free(x+xstep,y)) { x+=xstep} else xstep = 0
if (place_free(x-xstep,y+ystep)) { y+=ystep }

_________________
Guten Tag von Deutschland ^^


Jeu en cours : Ping Pong C++ en open source
Bibliothèque : SFML
Avancement : |||||||||| 100% !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
playboy
Timide
Timide


Masculin Nombre de messages: 25
Programme utilisé (Gm/RmXp/...): GM7.0 (pro)
Etudes: Université
Loisirs: Gamemaker
Date d'inscription: 11/09/2009

MessageSujet: Re: Script de marche incomprit   Dim 25 Oct - 11:10

Oups merci de la correction ^^" c'est vrai que ca poserait soucis dans ce cas là. Bien la je pense que c'est bon :) Et limite je vais mettre au courant jerelink de ce changement :) Je sais pas quelles solutions il a utilisé ou je lui ai donné XD

Il me semble lui avoir envoyé ceci :

Code:
gardex=x
gardey=y
xstep=(holdr || fholdr)-(holdl || fholdl)
ystep=(holdd || fholdd)-(holdu || fholdu)
if (place_free(gardex+xstep,gardey)) { x+=xstep}
if (place_free(gardex,gardey+ystep)) { y+=ystep }


Mais bon pour être sur je le contacte :) Parce que je sais pas s'il va venir voir ici vu qu'il pense sa solution terminé :)

_________________
[Démo du RPG (30 Juin 2009) = Aeris] ------------------ [Jeux Finis/Mon topic = Laguna]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jerelink
Discret
Discret


Masculin Nombre de messages: 115
Age: 18
Programme utilisé (Gm/RmXp/...): game maker
Date d'inscription: 14/01/2006

MessageSujet: Re: Script de marche incomprit   Jeu 29 Oct - 22:52

Ouaw...
Tellement j'étaie captivé par la grande aide de Playboy et j'ai complètement oublié ce sujet car personne n'y répondait ^^'
Sa me choque de voir toute ces réponse oO
Et bien merci a tous ^^ En tout cas tout marche parfaitement maintenant =)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Script de marche incomprit

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Game Maker Zone :: Zone : Game Maker :: Game Maker - Problèmes :: GM - Problèmes : Niveau moyen-
Poster un nouveau sujet   Répondre au sujet