7일차 - 레이저 발사하기

우선 아까 만든 레이저 프리펩을 이용하여 레이저가 발사 되도록 구현할건데요, Player.cs 안에 다음과 같은 멤버 변수를 추가해 줍시다.

    public GameObject laserPrefab; //발사할 레이저를 저장합니다.
    public bool canShoot = true; //레이저를 쏠 수 있는 상태인지 검사합니다.
    const float shootDelay = 0.5f; //레이저를 쏘는 주기를 정해줍니다.
    float shootTimer = 0; //시간을 잴 타이머를 만들어줍니다.

그다음엔 ShootControl 함수를 만들어서 레이저를 쏘도록 구현할건데요.

void ShootControl() // 발사를 관리하는 함수 입니다.
    {
        if (canShoot) // 쏠 수 있는 상태인지 검사합니다.
        {
            if (shootTimer > shootDelay && Input.GetKey(KeyCode.Space)) //쿨타임이 지났는지와, 공격키인 스페이스가 눌려있는지 검사합니다.
            {
                Instantiate(laserPrefab, transform.position, Quaternion.identity); //레이저를 생성해줍니다.
                shootTimer = 0; //쿨타임을 다시 카운트 합니다.
            }
            shootTimer += Time.deltaTime; //쿨타임을 카운트 합니다.
        }
    }

스페이스바를 누르면 레이저가 나갑니다!

results matching ""

    No results matching ""