Forum Solarus-Games francophone

Jeux amateurs => Aide & support => Discussion démarrée par: Linkor le 30 Avril 2008 à 16:13

Titre: Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: Linkor le 30 Avril 2008 à 16:13
J'ai  le déplacement en diagonale dans mon jeu maintenant mais une question me tracasse et je sais pas comment arranger ça (c'est sur RM03)
... en même temps c'est une question mais alors pourquoi lors de la marche en diagonale le héros marche 2x plus vite ?
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: Christopho le 30 Avril 2008 à 16:53
Il ne marche pas 2 fois plus vite mais à peu près 1.41 fois plus vite. Je t'explique. Imaginons par exemple que le héros est en bas à gauche d'un carré :

------------
|          |
|          |
|          |
|          |
X-----------

S'il va à droite, il se retrouve en bas à droite du carré au bout d'un certain temps. S'il va en haut, il met exactement le même temps. Mais s'il fait les deux à la fois (donc s'il se déplace en diagonale), il doit mettre plus longtemps car la distance est plus longue (racine de 2 = à peu près 1.41 fois plus longue en fait).

Il y avait d'ailleurs ce bug dans la démo 1.0 de Mercuris' Chest ^^

Ce n'est pas le seul problème pour faire un bon moteur de déplacement en diagonale.
- Si le joueur se déplace dans une des 4 directions principales (par exemple vers la droite) et qu'il rencontre un mur oblique (par exemple en haut à droite)  il ne doit pas s'arrêter mais "glisser" contre le mur (dans notre exemple, il doit aller en bas à droite). Tout en adaptant bien sûr sa vitesse comme expliqué plus haut puisqu'il se déplace en diagonale.
- Si le joueur se déplace en diagonale (par exemple vers en haut à droite) et qu'il rencontre un mur pas oblique (par exemple un mur en haut), il ne doit pas s'arrêter mais là aussi "glisser" contre le mur (dans notre exemple, il doit aller à droite). Là aussi il faut penser à corriger sa vitesse car il va cette fois dans une des 4 directions principales...
Bref, c'est assez prise de tête, et bon courage pour gérer tout ça avec RPG Maker :mrgreen:
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: Rhokua le 19 Mai 2008 à 12:17
Je me permets d'ajouter que les collisions doivent du coup être totalement personalisées, vu que les détections de base bugggent un max en diagonale. Donc à moins que tu veuilles vraiment refaire toutes tes collisions(et d'ailleurs c'est même pas sûr que ce soit fiable) je te conseille de laisser tomber ça sous RM.
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: Daru13 le 19 Mai 2008 à 18:10
...Ou de passer à RMXP :P.
Titre: Re : Re : Déplacements en diagonales ... c'est réussi mais une question aussi ..
Posté par: Rhokua le 19 Mai 2008 à 20:28
Citation de: daru13 le 19 Mai 2008 à 18:10
...Ou de passer à RMXP :P.

Mouais, ben refaire tout son projet sous RMXP c'est un peu brutal non pour un simple système de marche en diagonale.
En plus la technique sous RMXP est tout autant buggée(sauf pour ceux qui aiment le Ruby, mais que si tu aimes codes t'as qu'à simplement passe à Game Maker).
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: Daru13 le 19 Mai 2008 à 23:30
Oui je sous-entendais d'utiliser du RUBY ^_^.

Mais je disais RMXP et pas GM par ce que il faudrait qu'il apprendre à se servir de GM ( bien que tu ai des bases, hein Linkor ^^ ), et que il aurait pu juste prendre un script tout fait et pas obligatoirement apprendre à coder en RUBY.
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: mooglwy le 20 Mai 2008 à 00:26
Prendre un script c'est caca, on vous l'as déjà dis.

De façon générale pomper un truc que tu comprends pas ça sert a rien. Un jour ou l'autre t'auras un problème. Et bah tu devras tout recommencer.

GM tu as pas un moteur tout fait. Tu as juste un bibliothèque ( enfin même plus ) mais c'est pas un moteur. Tu maitrises ce que tu fait.
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: Daru13 le 20 Mai 2008 à 00:51
CitationUn jour ou l'autre t'auras un problème. Et bah tu devras tout recommencer.
Suffit de poser la question ^^. Et pi', pourquoi tout recommencer ? :blink:
Sinon, je parlais uniquement d'un script de déplacement, hein ^^'.

Mis c'est certain que c'est plus ouvert, plus polyvalent, j'avais fait une casse-brique dessus et de refaire ça sans script sous RM ça aurais été bien plus ch**nt, c'est certain ^^" !

Bref...
Titre: Re : Déplacements en diagonales ... c'est réussi mais une question aussi ...
Posté par: mooglwy le 20 Mai 2008 à 16:57
C'est pas ça, c'est surtout qu'un code ça plante. Surtout les script modifier pour RM vu le peu de test qu'ils ont subi. Alors si c'est pas toi qui l'as fait impossible de le réparer et le gars qui a écris son truc a peut-être pas envie de se taper du support.

Bon dans l'optique d'en utiliser qu'un seul... Mais on vous connait, si ça plante parce que vous avez mis une vingtaine de script...