[ Pause 기능 추가하기 ]
Sample의 Assets/Sprites/UI/pause.jpg 복사해 오기
pause 이미지를 Hierarchy View로 끌어 올림 (pause 라른 GameObject가 생성됨)
Collider2D 생성
Component >> Physics2D >> Circle Collider2D
Is Trigger : check
Tag이름을 "Pause"로 설정
Time
Time.deltatime : 한 프레임이 실행되는 시간
Time.timeScale : 0인 경우 게임 시간이 흐르지 않는다. 1 인경우 정상 속도로 진행됨
<Source> PlayerControls03.cs => [프로그램] Part03 Source
[ Sound 동적 처리 ]
오디오 재생
audio.Play() / Stop() : AudioSource 내의 오디오를 재생/ 멈추는 함수
Music(GameObject in Hierarchy)의 Audio Source
Audio Clip : None으로 설정
Loop : check -> 확인
MusicPlayer.cs 생성하여 Music 객체에 Component로 삽입
<Source> MusicPlayer01.cs => [프로그램] Part03 Source
BackMusics : MainTheme 연결
선택해서 오디오 재생하기
<Source> MusicPlayer02.cs => [프로그램] Part03 Source
public AudioClip BackMusics; 에 의해 여러 개의 배경음악을 삽입할 수 있게 됨
BackMusics
Size : 2를 삽입 >> 2개의 AudioClip을 삽입할 수 있도록 됨
Elenmet 0 : bigBoom
Element 1 : MainTheme
<Source > MusicPlayer03.cs => [프로그램] Part03 Source
오디오 리소를 바꾸기 위한 테스트 코드 추가가 된 소스
[ 적캐릭터 파괴 애니메이션 처리 ]
적캐릭터가 파괴되는 GameObject 만들기
Assets/Sprties/Characters/Enemy01 & Enemy2에 있는 Sprite 이미지들 중에서 파괴애니메이션이 시작되는 Sprite(enemy1_7, enemy2_7)을 Hierarchy로 가지고 옮기고 이름을 enemy01(02)Destroy로 만듬
<Source> Destroyer.cs => [프로그램] Part03 Source
외부에서 DestroyGameObject가 호출되면 자신을 삭제할 수 있도록 함
enemy01(02)Destroy에 삽입
스프라이트 애니메이션 만들기
new aim : enemy01(02)Destroy.anim
Add Curve : Sprite Renderer >> Spritie
[ 특정 애니메이션 타임에 함수 호출하기 ]
Add Event 추가
함수 이름을 DestroyGameObject()로 설정
Prefab으로 만듬
Enemy01이 파괴될때 Enemy01Destory 호출하기
<Source> EnemiesCollision => [프로그램] Part03 Source
public 변수
Destory Anim : Enmey01(02)Destory(prefab)
<Source> HeroesCollision => [프로그램] Part03 Source
[ Score(UI) 처리 ] => Unity 4.6 버전 이상에서의 처리
GameController 만들기(Empty Object로 만듬)
하위 계층에 Score, ScoreShadow 만들기
GUIText(GameObject)를 만듬
Menu : GameObject >> Create Other >> GUI Text
Text : Score: 0
Anchor : upper center
Alignment : center
Pixel Offset : X:0 / Y:0
Line Spacing : 1
Tab Size : 4
Font : BradBunR
Sample Project : Assets/Fonts/BradBunR 복사
Material : None
Font Size : 80 (폰에서는 Font가 작게 보여서 의도적으로 크게함)
Font Style : Normal
Color : 흰색
Pixel Correct : Check
Rich Text : Check
GUI Text(GameObject 명)을 Score로 바꿈
적당한 위치에 Score 위치 시킴
Audio Source Component 추가
Play On Awake : Uncheck
ScoreShadow 만들기
Score의 그림자 효과 처리
Menu : GameObject >> Create Other >> GUI Text
Score와 세팅을 똑 같이 하고 단지 [ Color : 검은색 ]으로 함
ScroreShadow.cs를 만든후 GuiCopy 변수에 Score(GameObject) 연결
<Source> ScoreShadow.cs => [프로그램] Part03 Source
public 변수
GuiCopy : Score(GameObject) 연결
<Source> GameSceneController.cs 생성 => [프로그램] Part03 Source
[ Escape Key 적용하기 ]
Input.GetKeyDown(KeyCode.Escape) : 안드로이드의 백키(Escape Key)가 눌렸을 경우
AddScore()함수를 통해 Score의 UI가 바뀔 수 있도록 함
public 변수
Score GUI : Score(GameObject) 연결
[ 적 캐릭터가 사리질 때마다 Score 점수 바꾸기 ]
<Source> EnemiesCollision.cs 생성 => [프로그램] Part03 Source
Enemy가 파괴될 때마다 UIController.cs에 있는 AddScore를 호출
public 변수
Score : 각 적캐릭터 종류 마다 적당한 값을 부여