IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unity Discussion :

Unity 5 : Besoin d'aide :3


Sujet :

Unity

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Unity 5 : Besoin d'aide :3
    Bonjour,

    déjà, avant de commencé, je tiens juste à dire que votre site ainsi que le forum est incroyable.
    Je n'ai pas l'habitude, et j'ai horreur, je ne vous le cache pas, de devoir demander de l'aide, mais au point ou j'en suis, j'en suis résigné.

    Ma question est: Sur tablette, dans un jeu 2D, comment faire pour que lorsque que l'on touche l'écran, notre personnage saute ?

    Je me suis servit de la fonction "OnMouseUp", pour réalisé mon menu qui d'ailleurs fonctionne très bien, mais après, le script pour sauter ne fonctionne pas.

    Je ne vous demande pas de me donner le script, mais de m'indiquer une piste à suivre.
    Il est inutile de me donner le lien d'un tutoriel vers une vidéo car ce sont toute des vidéos pour faire sauter un personnage lorsque qu'on appuie sur une touche de clavier, et non un écran.

    Ce que j'entends par "toucher l'écran" c'est que je mets un empty sans texture (donc invisible) avec une boxcollider.

    Je vous remercie.

    PS: Je suis novice sur Unity, et je m'excuse pour les différentes fautes d'orthographes.

  2. #2
    Membre expérimenté
    Avatar de Greg Latiner
    Homme Profil pro
    Développeur JV
    Inscrit en
    Février 2014
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur JV

    Informations forums :
    Inscription : Février 2014
    Messages : 341
    Points : 1 313
    Points
    1 313
    Par défaut
    Bonjour Hillusion,

    Personnellement, je ne suis absolument pas un spécialiste des plateformes mobiles.
    Maintenant, dans ton cas, il semblerait qu'il faille regarder du coté des Mobile Device Input.
    La page Input.touches te donne un petit exemple qui incrémente un compteur à chaque fois que tu touches l'écran, cela devrait permettre de t'aider je pense.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci bien de ta réponse !

    Je connais cette fonction, mais j'ai fais ce topic pour savoir comment faire sauter le personnage lorsque qu'on touche l'écran.

    Merci quand même

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'en profite pour vous posez une 2ème questions :

    function Start()
    {
    this.transform.Translate(Vector3(0, -0.2, 0));
    yield WaitForSeconds (5);
    this.transform.Translate(Vector3(0, 0, 0));

    }
    Qu'est ce qui ne convient pas dans mon script ?

    J'ai aussi essayer sa:

    function Start(){
    this.transform.Translate(Vector3(0, -0.2, 0));
    }

    function Update(){
    yield WaitForSeconds (4);
    this.transform.Translate(Vector3(0, 0, 0));
    }
    Mais sa ne fonctionne toujours pas :/
    Je souhaite qu'une image descende, et qu'elle ce stop au milieu de l'écran.

  5. #5
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 610
    Points
    2 610
    Par défaut
    Citation Envoyé par hillusion Voir le message
    Je souhaite qu'une image descende, et qu'elle ce stop au milieu de l'écran.
    Ce que je ferais, c'est attacher un RigidBody à l'image, lui donner une vitesse à la création, puis la "stopper" (en mettant la vitesse à 0) quand elle atteint ce que tu veux.

    Donc, un truc comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	void Start()
    	{
    		GetComponent<Rigidbody2D> ().velocity = new Vector2 (0.0f, 5.0f); 
    	}
     
    	void Update()
    	{
    		if (transform.position.y <= 0.0f)
    		{
    			transform.position = new Vector2 (transform.position.x, 0.0f);
    			GetComponent<Rigidbody2D> ().velocity = new Vector2 (0.0f, 0.0f); 
    		}
    	}
    Mais je suis pas un programmeur Unity, je m'y prends peut-être pas bien (même si ça marche).

  6. #6
    Membre actif
    Profil pro
    Programmeur Audio
    Inscrit en
    Décembre 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur Audio
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 127
    Points : 221
    Points
    221
    Par défaut
    Salut !

    Pour commencer tu ne dois pas utiliser yield WaitForSeconds (4); car ça va stopper ta fonction (c.f: la doc).

    function Start() est appeler à l'initialisation de ton script. Tu peux y mettre la position de départ de ton image mais j'imagine qu'elle se trouve dans la scène et donc tu n'as rien a y faire.

    Dans ta fonction Update() tu pourrais faire quelques choses dans le genre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public float smoothTime = 0.3F;
    private float yVelocity = 0.0F;
     
    function Update()
    {
         float newPosition = Mathf.SmoothDamp(transform.position.y, target.position.y, ref yVelocity, smoothTime);
         transform.position = new Vector3(transform.position.x, newPosition, transform.position.z);
    }
    J'ai trouvé ce bout de code dans la doc.
    Ça permet d'atteindre une valeur dans un temps donnée (smoothTime).

Discussions similaires

  1. Besoin d'aide Unity
    Par felix104116 dans le forum C#
    Réponses: 14
    Dernier message: 21/11/2014, 23h44
  2. besoin d'aide afficheur avec unity pro
    Par vidark dans le forum Automation
    Réponses: 2
    Dernier message: 26/04/2014, 17h55
  3. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo