Déplacements en diagonales ... c'est réussi mais une question aussi ...

Démarré par Linkor, 30 Avril 2008 à 16:13

0 Membres et 1 Invité sur ce sujet

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 ?
The Legend Of Zelda : Minish Shield's

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:
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

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.


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).

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.

    







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.
Je t' lily.

Regex / Les ravages de linux
CitationDites, dans un CV, faut mettre si on préfère vim ou emacs ?
Dis papa comment on fait les bébé
[/table

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...

    







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... 
Je t' lily.

Regex / Les ravages de linux
CitationDites, dans un CV, faut mettre si on préfère vim ou emacs ?
Dis papa comment on fait les bébé
[/table