// Update is called once per frame
    void Update()
    {
        IsMoving  = false;
        IsRising  = false;
        IsFalling = false;

        Vector2 Displacement = Vector2.zero;

        if (Input.GetKey(KeyCode.A))
        {
            IsMoving        = true;
            Displacement   += Vector2.left;
            sRenderer.flipX = true;
        }

        if (Input.GetKey(KeyCode.D))
        {
            IsMoving      = true;
            Displacement += Vector2.right;

            sRenderer.flipX = false;
        }

        raycastCollider.Move(Displacement * Time.deltaTime * MovementSpeed);

        //Vertical Movement

        VerticalVelocity += Gravity * Time.deltaTime;

        if (raycastCollider.isGrounded)
        {
            VerticalVelocity = 0;
        }

        if (!raycastCollider.isGrounded)
        {
            if (VerticalVelocity > 0)
            {
                IsRising = true;
            }
            else if (VerticalVelocity < 0)
            {
                IsFalling = true;
            }
        }

        if (raycastCollider.isGrounded && Input.GetKeyDown(KeyCode.Space))
        {
            VerticalVelocity = GetJumpVelocity(JumpHeight);
        }

        raycastCollider.Move(VerticalVelocity * Vector2.up * Time.deltaTime);
    }
Example #2
0
 // only call this once per frame
 void Move(Vector2 deltaPosition)
 {
     raycastCollider.Move(deltaPosition, timers.Active("platformFallThrough") && !timers.Expired("platformFallThrough"));
 }
    // Update is called once per frame
    void Update()
    {
        IsMoving  = false;
        IsRising  = false;
        IsFalling = false;

        //Horizontal Player Movement
        float horizontalDisplacement = 0;

        if (Input.GetKey(KeyCode.A))
        {
            horizontalDisplacement -= 1;
            IsMoving = true;
        }

        if (Input.GetKey(KeyCode.D))
        {
            horizontalDisplacement += 1;
            IsMoving = true;
        }

        horizontalDisplacement *= MovementSpeed * Time.deltaTime;

        if (horizontalDisplacement < 0)
        {
            sRenderer.flipX = true;
        }
        else if (horizontalDisplacement > 0)
        {
            sRenderer.flipX = false;
        }

        raycastCollider2D.Move(horizontalDisplacement * Vector3.right);



        //Vertical Movement - Jumping/Falling


        VerticalVelocity += Gravity * Time.deltaTime;

        if (raycastCollider2D.isGrounded || raycastCollider2D.isCollidingBottom)
        {
            VerticalVelocity = 0;
        }
        else
        {
            if (VerticalVelocity > 0)
            {
                IsRising = true;
            }
            else
            {
                IsFalling = true;
            }
        }

        if ((raycastCollider2D.isGrounded || raycastCollider2D.isCollidingBottom) && Input.GetKeyDown(KeyCode.Space))
        {
            VerticalVelocity = GetJumpHeight(JumpHeight);
            Debug.Log("Jump " + VerticalVelocity);
        }

        raycastCollider2D.Move(VerticalVelocity * Time.deltaTime * Vector3.up);
    }