unity] 오브젝트 피격제어 예제!
최근 유니티로 작업하면서 사용했던 소스 정리겸 예제를 올려본다.
기능은 2개. 하나는 사운드출력이고
또 하나는 파티클 재생이다.
아 물론 hp를 -시키는 방식으로 구현하였다.
정해진 물체에 닿았을때 피격 대상의 함수를 호출하여 동작한다.
//여기는 변수 설정.
public int HP;
private AudioSource fireSound;
public AudioClip background;
public AudioClip fireHit;
public ParticleSystem smoke;
Vector3 pos;
// Start is called before the first frame update
void Start()
{
//시작할떄 오디오 소스인 배경음을 재생하고 현재 오브젝트의 포지션을 가져온다.
//playoneshot은 한번만 재생하며 반복 재생하고 싶을시 밑을 참조.
fireSound = GetComponent<AudioSource>();
fireSound.PlayOneShot(background);
pos = this.gameObject.transform.position;
}
public void Out()
{
//Out 함수 호출시 지정해놨던 파티클 오브젝트를 소환!
Instantiate(smoke,pos, Quaternion.Euler(-90f, 0, 0));
//그와 종시에 히트 사운드를 1회 재생한다.
fireSound.PlayOneShot(fireHit);
//정해진 횟수만큼 -하며 0이 되었을때 오브젝트 비활성화 밑 사운드 재생을 끔.
HP -= 1;
if (HP == 0)
{
gameObject.SetActive(false);
GetComponent<AudioSource>().Stop();
}
}
대충 이런식으로 응용해서 사용할 수 있다
'IT이야기 > unity,c#' 카테고리의 다른 글
unity 특정 스크립트에서 버튼 이벤트 관리하기! (0) | 2020.11.24 |
---|---|
unity 2019버전 모바일 화면 회전 설정 (0) | 2020.06.15 |
unity] 목표물 방향으로 바라보면서 따라가기 followTarget, LootAt Target (0) | 2020.02.07 |
유니티] 오브잭트 랜덤 배치 예제 (0) | 2020.02.06 |
unity] 가로 세로 변경하기 (0) | 2019.11.15 |