2017-09-27 1 views
-2

J'ai un problème, je fais un texte de dialogue dans l'unité en utilisant C#. Eh bien j'ai besoin de savoir comment désactivé le saut de thirdpersoncontroller (joueur par défaut de l'unité), parce que ne voit pas bien.Comment désactiver le saut du thirdpersoncontroller - Unity C#

Comme ceci:

enter image description here

Voici le code:


 

 
     private void Update() 
 
     { 
 
\t \t if (!m_Jump) { 
 
\t \t \t m_Jump = CrossPlatformInputManager.GetButtonDown ("Jump"); 
 
\t \t 
 
\t \t 
 
\t \t } 
 
     } 
 

 

 
     // Fixed update is called in sync with physics 
 
     private void FixedUpdate() 
 
     { 
 
      // read inputs 
 
      float h = CrossPlatformInputManager.GetAxis("Horizontal"); 
 
      float v = CrossPlatformInputManager.GetAxis("Vertical"); 
 
      bool crouch = Input.GetKey(KeyCode.C); 
 

 
      // calculate move direction to pass to character 
 
      if (m_Cam != null) 
 
      { 
 
       // calculate camera relative direction to move: 
 
       m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 0, 1)).normalized; 
 
       m_Move = v*m_CamForward + h*m_Cam.right; 
 
      } 
 
      else 
 
      { 
 
       // we use world-relative directions in the case of no main camera 
 
       m_Move = v*Vector3.forward + h*Vector3.right; 
 
      } 
 
#if !MOBILE_INPUT 
 
\t \t \t // walk speed multiplier 
 
\t   if (Input.GetKey(KeyCode.LeftShift)) m_Move *= 0.5f; 
 
#endif 
 

 
      // pass all parameters to the character control script 
 
      m_Character.Move(m_Move, crouch, m_Jump); 
 
      m_Jump = false; 
 
     } 
 
    }

J'essaie

S'il vous plaît aidez-moi, je ne sais pas comment fixer il.

Merci!

+0

Le code sera dans l'une des classes placées sur l'objet gameobject. Qu'avez-vous déjà essayé? – Bejasc

+0

@Bejasc Je mets à jour le post pour vous voir –

+0

Je vous ai fourni une réponse, mais c'est vraiment un problème assez basique. Avez-vous lu ce code du tout? Avant de poster des questions ici, vous devriez faire un effort et tenter vous-même de résoudre le problème, et poster ici détaillant ce que vous avez déjà essayé. – Bejasc

Répondre

1

Pour désactiver le saut, supprimez le code qui le déclenche.

Cette ligne dans Update() est ce qui déclenche un joueur à sauter.

m_Jump = CrossPlatformInputManager.GetButtonDown ("Jump"); 
+0

Merci, mais j'en ai besoin comme ça m_Jump = CrossPlatformInputManager.GetButtonDown (""); mais ne fonctionne pas, pour désactivé toutes les touches du clavier, m_Jump = ("Jump") est à nouveau actif mais pour désactiver la clé? –

+0

Je ne comprends pas ce que vous demandez. Pour supprimer la fonction de saut (comme vous l'avez demandé), vous avez juste besoin de supprimer cette ligne. Vous devez fournir quelque chose dans 'GetButtonDown()' - si vous ne voulez pas enregistrer le bouton, pourquoi codez 'GetButtonDown()' du tout ?? – Bejasc