[RÉSOLU] Diriger personnage avec la souris sur jeu type Zelda 2D.....

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
EmileF
Messages : 676
Inscription : 18 Mars 2017 19:39

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par EmileF » 31 Mai 2020 09:12

Salut,
Ajoute : if (Input.GetMouseButtonDown(0)){
dans la fonction Update en première ligne

Code : Tout sélectionner

if (Input.GetMouseButton(0)){
        change = Vector3.zero;
        change.x = Input.GetAxisRaw("Mouse X");
        change.y = Input.GetAxisRaw("Mouse Y");
        }
BougePersonnage();
Cela indiquera que la nouvelle position sera calculée que quand le bouton gauche de la souris est enfoncé
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

SVPROG
Messages : 7
Inscription : 27 Mai 2020 18:07

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par SVPROG » 31 Mai 2020 12:43

Bonjour, cela fonctionne qu'à moitié, de temps en temps le personnage s'en va de manière aléatoire au click de souris mais jamais dans la direction indiquée!
Donc autant dire que ça ne fonctionne malheureusement pas !
Désolé de ce casse-tête !

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par Max » 31 Mai 2020 15:08

Bonjour,

Ton sprite possède un rigidbody, sur lequel tu joues pour ces déplacement, ce qui implique aussi une réaction du sprite à la gravité en même temps que ses déplacements. Ce qui doit donner parfois des comportement pas vraiment attendu je pense.

En passant juste par le transform (donc sans RigidBody), pour déplacer en click souris un sprite, ce genre de code peut servir de base de travail (camera en mode ortho)

Code : Tout sélectionner

    [SerializeField] float speed = 4.0f;
    private Vector3 target;

    // Start is called before the first frame update
    void Start()
    {
        target = transform.position;
    }

    // Update is called once per frame
    void Update()
    {

        if (Input.GetMouseButtonDown(0))
        {        
            target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            target.z = 0;
        }

        if (Vector3.Distance(transform.position, target) > 0.001f)
        {
            transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
        }

    }
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

EmileF
Messages : 676
Inscription : 18 Mars 2017 19:39

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par EmileF » 31 Mai 2020 15:21

Salut,

Voilà, j'ai créé une scène vierge mode 2D
J'ai ma caméra en 0,0,-10, avec la rotation à zero, en mode orthographic
Placé un sprite en 0,0,0 avec un scale de 100 pour me servir de fond
J'ai placé une autre sprite en 0,0,0 coloré en rouge qui sera mon player.

1° j'ai mis un rigidbody2d à mon player et je lui ai attribué le sprite que tu dis marché. Mon player tombe lentement sans aucune réaction à la souris.

2° j'ai supprimé le rigidbody2d de mon player et j'ai mis le script de Max et ça marche très bien.

A toi de jouer.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

SVPROG
Messages : 7
Inscription : 27 Mai 2020 18:07

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par SVPROG » 31 Mai 2020 16:20

Merci à vous EmileF et Max, ça marche tout à fait comme je le souhaitais, en fait quand je vois qu'en quelques lignes de codes le tour est joué alors que moi je m'embarrassais de tas de trucs non nécessaires apparemment !!
Encore merci!
Je clos le post!
A bientôt

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par djulio74 » 31 Mai 2020 16:25

Salut.
Quand tu as un sujet qui est terminé, hésite pas à passr le sujet en RÉSOLU en éditant le titre de ton premier post.
Je m'en charge pour cette fois. ;-)

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

EmileF
Messages : 676
Inscription : 18 Mars 2017 19:39

Re: Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par EmileF » 31 Mai 2020 16:27

Maintenant, ce qui te reste à faire est d'étudier et de comprendre ce qui a été fait pour pouvoir le reproduire en cas de besoin.
Salut
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: [RÉSOLU] Diriger personnage avec la souris sur jeu type Zelda 2D.....

Message par E3DStef » 01 Juin 2020 17:57

Dans ton update METS UN IF CLIC BOUTON

Comme cela l'affectation de la position de la souris ne se fera qu'au moment du clic...
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Répondre

Revenir vers « Scripting »