728x90
728x90
TODAY'S GOAL
1.몬스터라는 태그를 가진 오브젝트랑 부딪혔을때 체력을 깍인다(플레이어 이미지 색깔)
2.체력아이템 획득시 체력회복 효과
3.오디오 효과
1.몬스터라는 태그를 가진 오브젝트랑 부딪혔을때 체력을 깍인다(플레이어 이미지 색깔)
public Image[] PlayerHP_Image;
private void OnCollisionEnter2D(Collision2D collision)
{
if(Coliision.gameobject.tag=="Monster")
{
this.GetCompontent<SpriteRenderer>().Color=Color.red;
//일정시간이 지나면 다시 원래 색깔로 돌아온다
//함수를 일정 시간이 지나면 호출하는 함수
//Invoke();
Invoke("changeImage", 0.5f);
//1.체력이 다 꽉찬 상태에서
//공격을 받았다면
if (PlayerHP_Image[0].activeSelf) //activeSelf : 대상(.앞)이 활성화 중이라면
{
PlayerHP_Image[0].SetActive(false);
return;
}
//2.체력이 하나 깍인 상태에서
//공격을 받았다면
if (!PlayerHP_Image[0].activeSelf && PlayerHP_Image[1].activeSelf)
{
PlayerHP_Image[1].SetActive(false);
return;
}
//3.체력이 하나 남은 상태에서
//공격을 받았다면
if (!PlayerHP_Image[0].activeSelf && !PlayerHP_Image[1].activeSelf && PlayerHP_Image[2].activeSelf)
{
PlayerHP_Image[3].SetActive(false);
Time.timeScale = 0;
return;
}
}
private void ChangeLmage()
{
this.GetComponent<SpriteRenderer>().color = Color.white;
}
2.Food 아이템을 먹었을때 체력 회복
//Food라는 태그를 가진 오브젝트와 부딪혔을때 체력을 회복하겠다
if (collision.gameObject.tag == "Food")
{
//내가 체력이 하나 깎인 상태에서
//내 첫번째 체력이미지 활성화
//부딪힌 오브젝트 파과하겠다
if (!PlayerHP_Image[0].activeSelf && PlayerHP_Image[1].activeSelf)
{
PlayerHP_Image[0].SetActive(true);
Destroy(collision.gameObject);
return;
}
//내가 체력이 두개 깍인 상태에서
//두번째 체력이미지 활성화
//부딪힌 오브젝트 파과하겠다
if (!PlayerHP_Image[0].activeSelf && !PlayerHP_Image[1].activeSelf)
{
PlayerHP_Image[1].SetActive(true);
Destroy(collision.gameObject);
return;
}
}
+) 콜라이더를 트리거 한 상태에서 플레이어를 공격하고 싶을때
1) 이 스크립트가 붙은 오브젝트 콜라이더가 트리거인 상태에서 부딪히면 호출되는 함수
3.오디오 효과
private AudioSource PlayerAudio;
void Start()
{
//Start() => 컴포넌트 참조(시작할때 컴포넌트 대상이 누구것인지)
PlayerAudio = this.GetComponent<AudioSource>();
}
728x90