Quantcast
Channel: Questions in topic: "addforce"
Viewing all articles
Browse latest Browse all 1264

Jump Height Different On Android

$
0
0
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(); 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; } } }

Viewing all articles
Browse latest Browse all 1264

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>