void Update() { CheckInputForJump(); CheckForShot(); Vector3 newPosition = transform.position; if (mIsJumping) { //if (mVerticalAcceleration < 0.0f) Debug.Log("MAX Y: " + transform.position.y); newPosition.y += mVerticalAcceleration * Time.deltaTime; mVerticalAcceleration -= GRAVITY; if (newPosition.y < mInitialY) { mIsJumping = false; newPosition.y = mInitialY; mVerticalAcceleration = 0.0f; } Vector3 bodyDirection = hoop.transform.position - this.transform.position; transform.forward = new Vector3(bodyDirection.x, 0, bodyDirection.y); } else { if (m_joystick == null) { return; } float inputValueHorizontal = m_joystick.GetAxisRawById(0); float inputValueVertical = -m_joystick.GetAxisRawById(1); newPosition.x += inputValueHorizontal * VELOCITY * Time.deltaTime; newPosition.z += inputValueVertical * VELOCITY * Time.deltaTime; if (inputValueHorizontal != 0 || inputValueVertical != 0) { transform.forward = new Vector3(inputValueHorizontal * VELOCITY * Time.deltaTime, 0, inputValueVertical * VELOCITY * Time.deltaTime); } } transform.position = newPosition; }