Gauche/Droite, changer les touches PC à Android

Toutes les questions sur le développement Mobile, y compris la partie script.
Tommy
Messages : 4
Inscription : 26 Nov 2017 20:17

Gauche/Droite, changer les touches PC à Android

Message par Tommy » 26 Nov 2017 20:46

Bonjour tous le monde, je suis actuellement en train de développer un jeu assez basique pour Android, je suis encore un débutant mais je commence à maîtrisez les bases petit à petit.

Pour faire simple, le jeu se résume à une forme allant automatiquement tous droit, le but est d'éviter les obstacles.
Les deux seul touches du jeu sont Gauche(a) et droite(d) (oui c'est un jeu basique mais faut bien commencé par quelque part :)).

Mon jeu est fini sur pc, depuis quelque jours je cherche (et pas qu'un peu) la solution pour tourner vers l'endroit appuyer de l'écran, j'imagine que pour la plupart des gens c'est une évidence mais je vous assure que j'ai essayer tout ce qui me passait par la tête. Je sais que le pack " CrossPlatformInput " est fait pour cela, mais il parai qu'il pose problème depuis peu (j'affirme).

Donc j'aimerai savoir ou du moins que quelqu'un m'aide à trouvé un bon tuto pour allez à droite ou à gauche sur Android.

Voici mon script pour pc

Code : Tout sélectionner

using UnityEngine;

public class PlayerM : MonoBehaviour {

    public Rigidbody rb;

    public float forwardForce = 2000f;
    public float sidewaysForce = 500f;
	
	// Update is called once per frame
	void FixedUpdate ()
    {
        rb.AddForce(0, 0, forwardForce * Time.deltaTime);

        if ( Input.GetKey("d") )
        {
            rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
        }

        if (Input.GetKey("a"))
        {
            rb.AddForce(-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
        }

        if (rb.position.y < -1f)
        {
            FindObjectOfType<GameManager>().EndGame();
        }

    }
}




Je me le répète, j'ai longtemps chercher pour trouver la solus mais rien, c'est pour cela que fait recours au forum!

Merci d'avance

yonathgames
Messages : 45
Inscription : 18 Sep 2017 17:44

Re: Gauche/Droite, changer les touches PC à Android

Message par yonathgames » 27 Nov 2017 22:49

Salut.

Pour rester sur le modèle de ton script, tu peux faire un bouton invisible qui prend tout l'écran de gauche et un autre à droite.
Tu y colles les fonctions correspondant aux input.key et cela doit fonctionner.

Tommy
Messages : 4
Inscription : 26 Nov 2017 20:17

Re: Gauche/Droite, changer les touches PC à Android

Message par Tommy » 29 Nov 2017 16:25

Rebonjour, tous d'abord merci pour ta réponse.

Mais j'ai un nouveau problème.
Premièrement je vous montre ce que j'ai fait.
J'ai crée un boutton gauche et une droite, j'ai ajoutez le script AxisTouchButton inclus dans le package CrossPlatformInput dans chacune des deux bouttons.
J'ai rajoutez un nouveau script pour le joueur(player) également.

Le voici.


Code : Tout sélectionner

using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
 
public class PlayerM : MonoBehaviour {
 
    public Rigidbody rb;
 
    public float forwardForce = 2000f;
    public float sidewaysForce = 500f;
   
    //     using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityStandardAssets.CrossPlatformInput;
     
    public class MoveAndro : MonoBehaviour {
     
        float directionX;
        Rigidbody rb;
     
     
     
        // Use this for initialization
        void Start () {
            rb = GetComponent<Rigidbody> ();
           
        }
       
        // Update is called once per frame
        void Update () {
            directionX = CrossPlatformInputManager.GetAxis ("Horizontal");
            rb.velocity = new Vector3 (directionX * 20, 0);
        }
    }
Les bouttons mobiles fonctionnent enfin! Mais... la vitesse de mon joueur à néttement baissé, c'est à peine si il bouge, lorsque mon cube ( le joueur ) tombe de la platforme il est sencé tombé très rapidement, la ont dirait qu'il flotte, j'imagine que la gravité a aussi changer, pourtant je n'ai pas toucher à absolument rien dans les préférences du joueurs...

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

Re: Gauche/Droite, changer les touches PC à Android

Message par boubouk50 » 29 Nov 2017 16:36

C'est parce que tu joues avec la vélocité. La vélocité est le déplacement global de ton personnage, lorsque tu le fait aller à droite ou à gauche, tu remets la vélocité en z à 0, ce qui a pour but d'enlever la chute. Tu ne dois pas toucher à la vélocité en z pour que la gravité soit calculée indépendamment.
"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

Tommy
Messages : 4
Inscription : 26 Nov 2017 20:17

Re: Gauche/Droite, changer les touches PC à Android

Message par Tommy » 29 Nov 2017 17:14

J'avoue que je suis un peu perdu là, que dois je faire dans ce cas? Si j'enlève la ligne vélocité le personnage ne ferra qu'avancer sans pouvoir allez à gauche/droite.

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

Re: Gauche/Droite, changer les touches PC à Android

Message par boubouk50 » 29 Nov 2017 17:42

Tu gardes ta vélocité en Z.
Ton déplacement X et Y dépend des touches et le Z de la gravité.
Quand tu fais ton new Vector3, à la place de rien mettre en Z, tu mets la vélocité en cours soit rb.velocity.z.
"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

Tommy
Messages : 4
Inscription : 26 Nov 2017 20:17

Re: Gauche/Droite, changer les touches PC à Android

Message par Tommy » 02 Déc 2017 15:11

Dans ce cas mon cube commence à flotter, alala ^^

J'ai complétement enlevé le script pour mobile. Je me demande pas si juste en rajoutant un simple code dans le premier script cela pourrai fonctionner... :?:

Merci tous de même de votre aide.

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »