Faire un déplacement 2d avec un effet 3d

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
kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Faire un déplacement 2d avec un effet 3d

Message par kosted » 20 Avr 2015 18:34

Bonjour tout le monde, je suis entrain de faire un jeu de plateau sous unity et je fais face à deux problèmes. Tout d'abord, j'essaie pour un début de déplacer mon pion qui est dans un trou, vers le trou suivant dont les coordonnées sont connues. Cependant, le pion se retrouve toujours en bas à gauche, donc loin des coordonnées que je lui passe. Par exemple, sur l'image, je veux déplacer mon pion bleu au trou suivant à droite, qui a pour coordonnée x=-4.9532, y=-1.417,z=-0.16 , mon pion se retrouve en -12.32 en x et -2.657 en y. Pouvez vous m'aider svp ? Le code du déplace est juste

Code : Tout sélectionner

     private Vector2 movement;
    public float x;
    public GameObject o;


	// Use this for initialization
	void Start () {
        Vector3 trou2 = o.transform.position;
        Debug.Log(trou2.x + " y est "+trou2.y );

        //On va faire test déplacer un pion d'un trou a vers un trou b      
        transform.Translate(trou2);
	}
J'aimerais aussi arriver à faire un déplacer qui donnera un effet 3d, genre le pion fait un arc de cercle avant tomber dans le trou suivant, mais je n'ai aucune idée de comment le faire. Pouvez vous me donner des pistes ? Merci d'avances.
Pièces jointes
Capture.PNG
Capture.PNG (100.88 Kio) Consulté 2377 fois

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6228
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Faire un déplacement 2d avec un effet 3d

Message par boubouk50 » 21 Avr 2015 09:26

Déjà pour te faciliter le travail, utilise un système unitaire, pour que tes translations soient plus faciles.

Code : Tout sélectionner

transform.Translate(trou2);
Ça veut dire que tu fais une translation de trou2 et pas vers trou2, la bonne translation est trou2.position - pion.position.

Si tu utilises un système unitaire avec trou+n = n alors tu n'as plus à te soucier de ça. Tu translate de n. (bon après faut gérer les retours et les 2 "étages")
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « (C#) CSharp »