J'espère que nous avons tous joué Zelda: Un lien vers le passé, veuillez me corriger si je me trompe, mais je veux émuler ce type de mouvement de personnage 2D de haut en bas avec une touche de correction. Cela a été fait dans d'autres jeux, mais je pense que cette référence serait la plus facile à comprendre. Plus précisément, le type de mouvement et de correction dont je parle est:
- Le mouvement flottant n'est pas limité aux mouvements basés sur des tuiles comme Pokemon et d'autres jeux où un tapotement du pavé de mouvement vous déplace d'un carré dans cette direction cardinale. Ce mouvement flottant devrait pouvoir réaliser un mouvement diagonal.
- Si vous marchez vers l'ouest et que vous arrivez à un mur qui est diagonal de façon nord-est / sud-ouest, vous êtes corrigé dans un mouvement sud-ouest même si vous continuez à maintenir la gauche (ouest) sur le contrôleur. Cela devrait fonctionner pour les deux diagonales corrigeant dans les deux directions.
- Si vous êtes à quelques pixels de marcher carrément dans une porte ou un couloir, vous êtes corrigé à marcher dans le couloir ou dans le couloir, c'est-à-dire que vous cogner dans le coin vous pousse à entrer dans le hall / la porte.
J'ai cherché des moyens efficaces d'y parvenir et je n'ai pas eu de chance. Pour être clair, je parle du mouvement du personnage humain, pas du mouvement d'un PNJ. Leurs ressources sont-elles disponibles sur ce type de mouvement? Des équations ou des algorithmes expliqués sur un wiki ou quelque chose?
J'utilise XNA Framework, y a-t-il quelque chose pour y aider?