IEnumerator makeInvincibleTemp()
    {
        Color color = spriteRenderer.color;

        color.a = invincibleAlpha;
        spriteRenderer.color = color;

        BoxCollider2D boxCollider2D = GetComponent <BoxCollider2D>();

        boxCollider2D.enabled = false;

        Rigidbody2D rb2d = GetComponent <Rigidbody2D>();

        rb2d.isKinematic = true;

        PeckyMovement peckyMovement = GetComponent <PeckyMovement>();
        float         origSpeed     = peckyMovement.playerSpeed;

        peckyMovement.playerSpeed /= 2;

        canDie = false;

        yield return(new WaitForSeconds(invinciblePeriod));

        color.a = 255;
        spriteRenderer.color  = color;
        boxCollider2D.enabled = true;
        rb2d.isKinematic      = false;

        peckyMovement.playerSpeed = origSpeed;

        canDie = true;
    }
示例#2
0
 void updatePosition()
 {
     if (pecky != null)
     {
         Vector3 pos = transform.position;
         pos.x = pecky.transform.position.x + initOffsetX;
         PeckyMovement peckyMovement = pecky.GetComponent <PeckyMovement>();
         if (peckyMovement.isGrounded)
         {
             pos.y = pecky.transform.position.y + initOffsetY;
         }
         transform.position = Vector3.Lerp(transform.position, pos, Time.deltaTime * 2);
     }
 }