- Home /
Jump Height Different On Android
I can't figure this out. My force is put in my FixedUpdate() function and yet I'm still jumping 3x as high on android. Is there something I'm doing wrong?
 using UnityEngine;
 using System.Collections;
 
 public class CharacterControllerScript : MonoBehaviour {
 
     public KeyCode up;
     public KeyCode down;
 
     public float maxSpeed = 10f;
     public bool facingRight = true;
     public float tiltSpeed = 10f;
     public float filter = 5.0f;
     public float accelerationSpeed = 10f;
     public bool jump = false;
 
 
     private Vector3 accel;
 
     Animator anim;
 
     public bool grounded = false;
     public Transform groundCheck;
     float groundRadius = 0.2f;
     public LayerMask whatIsGround;
     public float jumpForce = 700;
 
     // Use this for initialization
     void Start () {
         anim = GetComponent<Animator>();
         accel = Input.acceleration;
     }
     
     // Update is called once per frame
     void FixedUpdate () {
 
         grounded = Physics2D.OverlapCircle(groundCheck.position, groundRadius, whatIsGround);
         anim.SetBool("Ground", grounded);
 
         anim.SetFloat ("vSpeed", rigidbody2D.velocity.y);
 
 
         /*if (grounded && ((Input.GetKeyDown(up)) || Input.touchCount == 1)) 
             rigidbody2D.AddForce(new Vector2(0, Mathf.Clamp(jumpForce, 0, 700)));
         */
         if(jump){
             rigidbody2D.AddForce(new Vector2(0, jumpForce));
             //rigidbody2D.AddForce (new Vector2(0, jumpForce) * rigidbody2D.mass / Time.fixedDeltaTime);
         }
 
         // Set animation
         if ((Application.platform == RuntimePlatform.Android) || (Application.platform == RuntimePlatform.IPhonePlayer)){
             // filter the jerky acceleration in the variable accel:
             accel = Vector3.Lerp(accel, Input.acceleration, filter * Time.deltaTime);
             // map accel -Y and X to game X and Y directions:
             Vector3 dir = new Vector3(Mathf.Clamp(accel.x, -accelerationSpeed, accelerationSpeed), 0, 0);
             // limit dir vector to magnitude 1:
             if (dir.sqrMagnitude > 1) dir.Normalize();
             // move the object at the velocity defined in speed:
             transform.Translate(dir * tiltSpeed * Time.deltaTime);
             anim.SetFloat("Speed", Mathf.Abs(dir.sqrMagnitude * tiltSpeed));
             if (Input.acceleration.x > 0 && !facingRight)
                 Flip ();
             else if (Input.acceleration.x < 0 && facingRight)
                 Flip ();
         }
         else {
             float move = Input.GetAxis ("Horizontal");
             anim.SetFloat("Speed", Mathf.Abs(move));
             rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
 
             // Decide what way animation moving
             if (move > 0 && !facingRight)
                 Flip ();
             else if (move < 0 && facingRight)
                 Flip ();
         }
         jump = false;
     }
 
     void Flip () {
         facingRight = !facingRight;
         Vector3 thescale = transform.localScale;
         thescale.x *= -1;
         transform.localScale = thescale;
     }
 
     void Update () {
         if(grounded && ((Input.GetKeyDown(up)) || Input.touchCount == 1)){
             anim.SetBool("Ground", false);
             //rigidbody2D.AddForce(new Vector2(0, jumpForce * Time.fixedDeltaTime));
             jump = true;
         }
     }
 }
 
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                