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; //쿨타임을 카운트 합니다.
}
}
스페이스바를 누르면 레이저가 나갑니다!