[ 레벨 디자인 1 ]
여기서는 점수를 기반으로 일정 점수 이상이 되면 다음 적 캐릭터가 등장할 수 있도록 함
2초간의 준비 시간...
2초 이후 Astroid01이 나올수 있도록 함
50점 이상이 되면 Enemy01이 나올 수 있도록 함
150점 이상이면 Enmey02이 나올 수 있도록 함
300점 이상이면 EnemyBoss01이 나올 수 있도록 함
[ Astroid, Enemy 등장 제어 ]
<Source> GameScenecontroller01.cs => [프로그램] Part04 Source
public 변수
EnemyCreator.size : 4를 입력
EnemyCreator.element 0 : Asteroid01(prefab)
EnemyCreator.element 1 : Enemy01(prefab)
EnemyCreator.element 2 : Enemy02(prefab)
EnemyCreator.element 3 : EnemyBoss01(prefab)
bEnemyCreator.size : 4를 입력
[ EnemyBoss01 등장 ]
EnemyBoss01 처리
Enemy02과 비슷한 패턴의 움직임을 보일 수 있도록 함(상하, 좌우로 이동할 수 있게)
<Source> Boss01Pattern01.cs=> [프로그램] Part04 Source
Rigidbody2D 추가
Gravity Scale : 0
Fixed Angle : check
충돌 체크 처리
EnemiesCollision과 비슷하게 처리함, 단지 Boss는 한번에 죽게 하지 않고 일정 정도의 Life를 추가
<source> BossCollision01.cs => [프로그램] Part04 Source
보스 캐릭터의 일정 위치(세군데)에서 적캐릭터(01,02,03)이 나올 수 있도록 처리하기
세개의 위치 생성
EnemyBoss01의 하위 객체(Empty Object)를 세개 만듬
이름은 각각 SpwanPos1,~2,~3로 함
Boss01Spawner.cs를 만들어 세곳에서 적캐릭터가 랜덤하게 나올 수 있도록 함
EnemySpwaner.cs와 비슷한 역할을 수행함
<Source> Boss01Spawner.cs => [프로그램] Part04 Source
public 변수
Enemy >> Size : 4
Element 0 : enemy01(prefab)
Element 1: enemy02(prefab)
Element 2 : enemy03(prefab) >> 아래쪽에 Enemy03 만들기 있음
Spwan Pos >> Size : 3
Element 0 : SpwanPos1
Element 1 : SpwanPos2
Element 2 : SpwanPos3
MinTimeBetweenSpawn : 1
MaxTimeBetweenSpawn : 2
EnemyBoss01을 Prefab으로 만듬
EnmeyBoss01이 일정 시점에 등장할 수 있도록 함
<Source> GameScenecontroller02.cs => [프로그램] Part04 Source
Enemy03 만들기
Sample의 Assets/Sprites/prop/enemy03.png 복사해 오기
Enemy03의 Inspector View
Slice : Click
Type : Grid
Pixel Size : 60 / 60
Offset : 0 / 0
Padding : 0 / 0
Pivot : Center
Enemy03_0 이미지를 Hierarchy View로 끌어 올림
Rigidbody2D 추가
Gravity: 0
Circle Collider 2D 추가
Is Trigger : check
Size는 좀 더 작게
Enemy03 움직이게 하기
기존에 만들었던 LineMove.cs 삽입하기
Speed : -3으로 세팅
Enemy03 충돌 처리하기
기존에 만들었던 EnemiesCollision.cs를 삽입
Enemy03 애니에니션 처리
Enemy01에서 만든 방법으로 Sprite Animation 구현하기
Enemy03을 prefab으로 만듬
[ GameData(PlayerPrefs) 저장하기 & Game Clear(씬) 연결]
Success 씬을 만듬
File >> New Scene
Scene Name : Success.unity
두 개의 GUIText를 만듬
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 : 40 (폰에서는 Font가 작게 보여서 의도적으로 크게함)
Font Style : Normal
Color : 흰색
Pixel Correct : Check
Rich Text : Check
두 개의 GUI Text의 이름을 각각 SuccessScore, HighScore라고 만듬
[ PlayerPrefs ]
PlayerPrefs를 이용한 Data 저장
GameScene02.unity >> GameController >> GameScenecontroller.cs
<Source> GameScenecontroller02.cs => [프로그램] Part04 Source
<Source> BossCollision02.cs => [프로그램] Part04 Source
PlayerPrefs에서 Data 가져오기
Success.unity >> SucessScore에 SuccessScore.cs 삽입
<Source> SuccessScore.cs => [프로그램] Part04 Source
Success.unity >> HighScore에 SuccessHighScoe.cs 삽입
<Source> SuccessHighScore.cs => [프로그램] Part04 Source