[MY-AL] Deplacement case par case fluide

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Eteck
Messages : 8
Inscription : 20 Juil 2016 22:03

[MY-AL] Deplacement case par case fluide

Message par Eteck » 23 Juil 2016 23:38

Bonjour,
J'aimerai faire en sorte que mon personnage se déplace sur des cases prédéfinies, de 1*1, de manière fluide.
J'ai donc essayé deux moyens :

Code : Tout sélectionner


transform.position = new Vector2(transform.position.x - 1,transform.position.y);

et

Code : Tout sélectionner


transform.position = Vector2.Lerp ((Vector2)transform.position, new Vector2(transform.position.x + 1, transform.position.y), Time.deltaTime * 5);

( je pense que j'ai mal utiliser le Lerp, je ne connais pas trop celle méthode )

Avec ces deux méthodes, le déplacement est saccadé, le transform se téléporte ( ce qui est normal avec la première méthode mais je pensai qu'avec un Lerp, cela marcherai )


Le déplacement que je veux est comme celui dans pokémon :
https://www.youtube.com/watch?v=Tn607LF ... e&t=40m18s

En gros, le personnage ne se téléporte pas sur la case suivante, on peux rester appuyé sur la touche, et en plus il y a une animation pour la transition, c'est exactement ce que je recherche :)

Merci si vous avez une solution :)

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [MY-AL] Deplacement case par case fluide

Message par Moi 1971 » 24 Juil 2016 11:38

Bonjour,
Essaie ça pour voir:

Code : Tout sélectionner

transform.position = Vector2.Lerp ((Vector2)transform.position, new Vector2(transform.position.x + 1, transform.position.y), Time.deltaTime * 5.0f);

Eteck
Messages : 8
Inscription : 20 Juil 2016 22:03

Re: [MY-AL] Deplacement case par case fluide

Message par Eteck » 24 Juil 2016 17:07

Salut,
merci pour ta réponse, mais cela n'a pas marché.
Je pense que je vais abandonner cette idée, c'est pas a mon niveau ^^

Avatar de l’utilisateur
Pitou
Messages : 95
Inscription : 28 Juil 2015 20:08
Contact :

Re: [MY-AL] Deplacement case par case fluide

Message par Pitou » 24 Juil 2016 18:14

Salut,

Je pense que tu peux le faire ! Il ne faut jamais laisser tomber ! ;)

Dans ton cas, je suis tenté de te dire d'utiliser un plugin très connu : DOTween.
Avec ce plugin, tu peux faire :

Code : Tout sélectionner

transform.DOMoveX(1, 1);
Le premier paramètre est la distance sur l'axe X, le seconde le temps en secondes.
Il existe aussi les fonctions DOMoveY et DOMoveZ. Il y a toute la doc sur leur site.
De plus, tu as accès à d'autre paramètres comme le type mouvement (http://easings.net/fr)

Bon courage, avec ce plugin, le travail est déjà fait ;-)
On dit LE WiFi ! Y'en a marre !

Eteck
Messages : 8
Inscription : 20 Juil 2016 22:03

Re: [MY-AL] Deplacement case par case fluide

Message par Eteck » 24 Juil 2016 19:15

Ok merci beaucoup :D je vais essayer !

Répondre

Revenir vers « (C#) CSharp »