Пример #1
0
    void JumpInput()
    {
        bool isGrounded = IsGrounded();

        if (Input.GetButtonDown(jumpInput) == true)
        {
            CancelInvoke("JumpBuffer");
            Invoke("JumpBuffer", 0.1f);
        }

        if (IsInvoking("JumpBuffer") == true && (isGrounded == true || jumpsLeft > 0))
        {
            //TRIGGERED JUMP!
            CancelInvoke("JumpBuffer");
            CancelInvoke("CayoteGrounded");
            moveV3.y = jumpStrength;
            jumpsLeft--;
            anim.Play("Jumping", 0, 0);
            isFastFalling = false;
            sound.SpawnEffect(jumpSFX, 0.1f, Random.Range(3, 5), 0, transform);
        }

        if (isGrounded == false && Input.GetAxis(jumpInput) <= 0)
        {
            isFastFalling = true;
        }
        if (isFastFalling == true)
        {
            //I basically just applied gravity multiple times, making faster
            Gravity();
            Gravity();
        }
    }
Пример #2
0
 void Shoot()
 {
     if (Vector3.Distance(transform.position, player.position) > minDistance && Vector3.Distance(transform.position, player.position) < maxDistance)
     {
         RaycastHit2D hit = Physics2D.Raycast(transform.position, -transform.position - -player.position, Vector3.Distance(transform.position, player.position) - 1f, LayerMask.GetMask("Default"));
         if (hit.transform == null)
         {
             if (anim != null && anim.HasState(0, 0) == true)
             {
                 anim.Play(0);
             }
             if (parentShake != null)
             {
                 parentShake.MediumShake();
             }
             sound.SpawnEffect(shootSound, 0.2f, 1, 0, transform);
             transform.parent.localScale += Vector3.one / 3;
             GameObject g = Instantiate(toShoot, shootPivot.position, transform.rotation * toShoot.transform.rotation);
             if (transform.position.x < player.position.x)
             {
                 g.transform.localScale = new Vector3(g.transform.localScale.x, -g.transform.localScale.y, g.transform.localScale.z);
             }
         }
     }
 }
Пример #3
0
    void LateUpdate()
    {
        float distance = Vector2.Distance(transform.position, player.position);

        if (distance <= range && Time.timeScale == 1)
        {
            sound.SpawnEffect(teleportSound);
            Teleport();
        }
    }