유니티/AA(3D 쿼터뷰 액션 게임)

AA(17) - 원거리무기 재장전

무직백수취업준비생 2021. 9. 17. 03:06
728x90
반응형
       fDown = Input.GetButton("Fire1");

공격을 클릭시가 아니라 클릭을 유지하면 계속 반복하도록 변경합니다.

 

    public int maxAmmo; //전체 탄약
    public int curAmmo; //현재 탄약

재장전을 위해 변수를 선언합니다.

 

 

재장전 키를 추가합니다.

 

재장전 애니메이션과 트리거를 설정합니다.

 

bool rDown; //재장전
    bool isReload; //재장전 플래그변수
     fDown = Input.GetButtonDown("Reload");

    void Reload()
    {
        if (equipWeapon == null)
            return;
        if (equipWeapon.type == Weapon.Type.Melee)
            return;
        if (ammo == 0)
            return;
        if(rDown && !isJump && !isDodge && !isSwap && !isFireReady)
        {
            anim.SetTrigger("doReload");
            isReload = true;

            Invoke("ReloadOut", 3f);
        }
    }
    void ReloadOut()
    {
        int reAmmo = ammo < equipWeapon.maxAmmo ? ammo : equipWeapon.maxAmmo;
        equipWeapon.curAmmo = reAmmo;
        ammo -= reAmmo;
        isReload = false;
    }

원거리 공격시 탄환을 소모하고 추가로 재장전에 대한 스크립트를 작성합니다.

 

 

728x90
반응형