게임개발자/Unity3D

효과음 넣기와 두더지 종류 나누기 - 유니티로 만드는 인디게임. 두더지 잡기 게임 MollyMolly 함께 만들기(3)

스타(star) 2014. 7. 29. 20:15

저번 영상에서 버그가 있어서 수정했음. 두더지들이 고개를 막 돌리는데 그 이유는 스프라이트 순서가 엉망으로 꼬여 있어서 그런 것임. 스프라이트 재생을 순차적으로 시켜줘야하는데 순서를 엉망으로 구성했었음.

아래처럼 스프라이트 순서대로 제대로 넣어줘야함.



캐치 플레이 하기

많이 하던 것인데 마우스 클릭시 Catch 애니메이션을 재생시켜주는 부분이다.

마우스 클릭 시 

public void OnMouseDown()

{

if (MS == MoleState.Idle || MS == MoleState.Open) 

{

Catch_On ();

}

}


효과음 넣기

오늘 할일은 이벤트에 사운드 넣는 작업.

//사운드 출력

{

public AudioClip Open_Sound;

public AudioClip Catch_Sound;

}

//Open
public void Open_On()
{
MS = MoleState.Open;
Ani_count = 0;

audio.clip = Open_Sound;
audio.Play ();

int a = Random.Range (0, 100);
if (a <= PerGood) {
GoodMole = true;
} else {
GoodMole = false;
}
}

두더지 종류 나누기

착한 두더지와 나쁜 두더지 2가지 종류가 확률적으로 발생하도록 만든다.

나쁜 두더지의 리소스와 애니메이션도 세팅해 준다.


//이미지 텍스쳐

public Texture[]Open_Images;

public Texture[]Idle_Images;

public Texture[]Close_Images;

public Texture[]Catch_Images;


//이미지 텍스쳐2

public Texture[]Open_Images_2;

public Texture[]Idle_Images_2;

public Texture[]Close_Images_2;

public Texture[]Catch_Images_2;


Pergood의 값에 따라서 GoodMole의 판단을 한다.

그 값에 따라서 render 스프라이트의 종류를 바꿔 준다.


//Open

public void Open_On()

{

MS = MoleState.Open;

Ani_count = 0;


audio.clip = Open_Sound;

audio.Play ();


int a = Random.Range (0, 100);

if (a <= PerGood) {

GoodMole = true;

} else {

GoodMole = false;

}

}


public void Open_Ing()

{

if (GoodMole == false) {

renderer.material.mainTexture = Open_Images [Ani_count];

} else {

renderer.material.mainTexture = Open_Images_2 [Ani_count];

}


Ani_count += 1;


if (Ani_count >= Open_Images.Length)

{

Idle_On();

}


}