// Update is called once per frame //public bool hasInput = false; private void FixedUpdate() { trueAcceleration = acceleration / Time.fixedDeltaTime; //hasInput = false; if (Input.GetAxis(leftXAxis) > deadZone) { //hasInput = true; //rb.AddForce(Vector3.right * acceleration); rb.velocity = rb.velocity + trueAcceleration * Vector3.right; Debug.Log("Right"); } if (Input.GetAxis(leftXAxis) < -deadZone) { //hasInput = true; //rb.AddForce(Vector3.left * acceleration); rb.velocity = rb.velocity + trueAcceleration * Vector3.left; Debug.Log("Left"); } if (Input.GetAxis(leftYAxis) > deadZone) { //hasInput = true; //rb.AddForce(Vector3.forward * acceleration); rb.velocity = rb.velocity + trueAcceleration * Vector3.forward; Debug.Log("Up"); } if (Input.GetAxis(leftYAxis) < -deadZone) { //hasInput = true; //rb.AddForce(Vector3.back * acceleration); rb.velocity = rb.velocity + trueAcceleration * Vector3.back; Debug.Log("Down"); } if (Input.GetAxis(fire1) > 0f) { if (Time.time - lastBumpTime > bumpCoolDown) { bump.TriggerBump(); lastBumpTime = Time.time; } } rb.velocity = Vector3.ClampMagnitude(rb.velocity, maxVelocity); //if (!hasInput) //{ // rb.AddForce(Vector3.zero, ForceMode.VelocityChange); //} }
// Update is called once per frame private void FixedUpdate() { Vector3 orientation = Vector3.zero; if (isStunned && stunEndTime <= Time.time) { isStunned = false; } if (isStunned) { return; } Vector3 force = Vector3.zero; if (Input.GetAxis(leftXAxis) > deadZone) { force += Vector3.right * acceleration; } if (Input.GetAxis(leftXAxis) < -deadZone) { force += Vector3.left * acceleration; } if (Input.GetAxis(leftYAxis) > deadZone) { force += Vector3.forward * acceleration; } if (Input.GetAxis(leftYAxis) < -deadZone) { force += Vector3.back * acceleration; } orientation = new Vector3(Input.GetAxisRaw(leftXAxis), 0, Input.GetAxisRaw(leftYAxis)); if (orientation.sqrMagnitude > 0.3f) { transform.forward = orientation; } if (Input.GetButtonDown(fire1) && !bumpLock) { bumpaxis = Input.GetAxis(fire1); bumpLock = true; if (Time.time - lastBumpTime > bumpCoolDown) { lastBumpTime = Time.time; bump.TriggerBump(); GetComponent <AudioSource>().clip = boop; GetComponent <AudioSource>().Play(); cooldown1.GetComponent <MeshRenderer>().materials[1].SetColor("_EmissionColor", Color.black); cooldown2.GetComponent <MeshRenderer>().materials[1].SetColor("_EmissionColor", Color.black); } } if (Input.GetButtonUp(fire1) && bumpLock) { bumpLock = false; } if ((Time.time - lastBumpTime) < bumpCoolDown) { Color transitionColor = Color.black + originalColor * (Time.time - lastBumpTime) / bumpCoolDown; cooldown1.GetComponent <MeshRenderer>().materials[1].SetColor("_EmissionColor", transitionColor); cooldown2.GetComponent <MeshRenderer>().materials[1].SetColor("_EmissionColor", transitionColor); } force += Vector3.ClampMagnitude(force, acceleration); rb.AddForce(force); rb.velocity = Vector3.ClampMagnitude(rb.velocity, maxVelocity); //if (!hasInput) //{ // rb.AddForce(Vector3.zero, ForceMode.VelocityChange); //} }