示例#1
0
        private void Update()
        {
            if (IsPaused)
            {
                return;
            }

            Vector2 mousePos  = new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y);
            Vector3 playerPos = cam.WorldToScreenPoint(player.position);
            float   diff      = mousePos.x - playerPos.x;

            if (Mathf.Abs(diff) > mouseDeadZone)
            {
                movement.Move(Mathf.Clamp(diff / (mouseDeadZone * speedModifier), -speedClamp, speedClamp));
            }

            if (Mathf.Abs(Input.GetAxisRaw("Jump")) > float.Epsilon)
            {
                if (!isJumpDown)
                {
                    isJumpDown = true;
                    movement.Jump();
                }
            }
            else
            {
                isJumpDown = false;
            }

            if (Mathf.Abs(Input.GetAxisRaw("Slide")) > float.Epsilon)
            {
                movement.Slide();
            }

            if (Mathf.Abs(Input.GetAxisRaw("Shoot")) > float.Epsilon)
            {
                combat.Shoot();
            }
        }