• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by johnq1216 · Feb 11, 2014 at 12:39 PM · androidmobilecharactercontrollerjump

I can't seem to get my character to jump in my mobile app

I got two gui buttons on the left side of the screen for going forward and backward. And an action button on the right side of the screen.

I've set up the Directional Buttons to send -1 and 1 for Horizontal Axis to the player's FPSInputController.

However, I cannot get the player to jump if the action button is swiped upwards (I've set the action button to jump when swiped up and slide when swiped downward). What am I doing wrong?

 private var fp : Vector2;  // first finger position
 private var lp : Vector2;  // last finger position
 private var actionSwipe : boolean;
 private var jump : boolean;
 
 var ass : GameObject; //player fits in t$$anonymous$$s parameter
 var touchZone : Rect;
 var BounceAmount : float = 14;
 var Dive : float = 20;
 
 function Start (){
     actionSwipe = false;
     jump = false;
 }
 
 
 function Update () {
         
 
 for (var touch : Touch in Input.touches){
         if (touch.phase == TouchPhase.Began){
             fp = touch.position;
             lp = touch.position;
 
         }
         
         if (touch.phase == TouchPhase.Moved ){
             lp = touch.position;
         }
         
         if(guiTexture.HitTest (touch.position)){
         
 
              if(guiTexture.name == "DpadLeft"){
           
                 ass.GetComponent(FPSInputController).horizontalAxis = -1;
                 Debug.Log ("HitTest: The Touch is down on " + t$$anonymous$$s.name);
         
             }else if(guiTexture.name == "DpadRight"){
           
                 ass.GetComponent(FPSInputController).horizontalAxis = 1;
                 Debug.Log ("HitTest: The Touch is down on " + t$$anonymous$$s.name);
                 
             }else if(guiTexture.name == "DpadAction"){
           
                 actionSwipe = true;
                 ass.GetComponent(CharacterMotor).movement.velocity.y = BounceAmount;    
 
                 Debug.Log ("HitTest: The Touch is down on " + t$$anonymous$$s.name);
             }
     
         
         }
 //        if ( touchZone.Contains( touch.position ) ){
 //            ass.GetComponent(FPSInputController).dpadHorizontalAxis = -1;    
 //                Debug.Log ("TouchZone: The Touch is down on " + t$$anonymous$$s.name);        }
                 
         if(touch.phase == TouchPhase.Ended){
                 Debug.Log ("The Touch has ended");
                 ass.GetComponent(FPSInputController).horizontalAxis = 0;
                 
                 if(actionSwipe){
                      actionSwipe = false;
                      if((fp.y - lp.y) < 0 ){ // up swipe
                             Debug.Log ("Jump");
                           ass.GetComponent(CharacterMotor).movement.velocity.y = BounceAmount;    
                     
 
                                                         
                      }else {
                            Debug.Log ("Dive");
                            
                             ass.GetComponent(CharacterMotor).movement.velocity.y = -Dive;    
                      }
                  }
        
         
         }
     
 
 }
 }
Comment

People who like this

0 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image

Answer by johnq1216 · Feb 11, 2014 at 06:16 PM

Nevermind, I figured it out. It only works if the character is airborne because of how the motor is structured. I use that upshot in y velocity for a Spring Object and as a dive attack. Since both naturally require the character to be airborne, I didn't t$$anonymous$$nk too much of it.

Comment

People who like this

0 Show 0 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

18 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Making a character jump with the Character Controller Component instead of Capsule Collider 0 Answers

Hit Detection On Android 1 Answer

touch anywhere on screen to jump 2 Answers

Mobile - Jumping while moving - Standard Assets 0 Answers

How to Move the Car With Touch? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges