2. 스터디 일정 및 커리큘럼
• 9월 12일 : 유니티 소개 및 에디터 조작법
• 9월 19일 : Sprite, Animation, Physics 기초
• 10월 10일 : Unity UI, GameManager
• 10월 24일 : Animation Controller, Timer
• 10월 31일 : 슈팅 게임 개발
• 11월 7일 : 2D 게임 완성(마녀이야기)
3. 지난 시간
• uGUI
• Sprite packer
• Generic
• 오브젝트, 리소스 참조
• 게임매니저
• 카드 뒤집기 게임 만들기 - 셔플 알고리즘
8. 두더지 게임을 만들어보자!
• 우선 간단한 스펙부터 정리
- 레디 버튼을 누르면 게임 시작
- 타이머 적용 ( 시간에 따라 타이머바가 줄어듬 )
- 두더지 터치하면 애니메이션 적용
- ppo(빨간두더지) : 누르면 -50점
- ppu(파란두더지) : 누르면 100점
- 각 두더지는 t초 마다 겹치지 않는 위치에 생성되어야함
• 각 기능별로 하나씩 구현하자
9. 레디 버튼 -> 게임시작
• 게임을 관리할 GameManager 스크립트 생성
• public GameObject readyBtn;
public GameObject go;
int isStart = false;
• public void Ready(){
readyBtn.setActive(false);
go.setActive(true);
Invoke(“GameStart”, 1f);
}
19. • GameManager에서,
• public Vector3[] positions = new Vector3[16];
// 두더지가 들어갈 위치 미리 저장
public Mole[] moles = new Moles[6];
// 일단 빨강 3마리 파랑 3마리만 넣어두겠음
두더지 생성
20. • GameManager에서,
• void Start(){
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
positions [i * 4 + j] =
new Vector3 (-2.1f + 1.35f * j, 1.43f - 1.35f * i);
}
}
}
두더지가 들어갈 위치
21. • Shuffle 함수 이용
• 셔플 전
{T, T, T, T, T, T, F, F, F ,F ,F ,F ,F ,F ,F ,F ,F}
• 셔플 후
{T, F, F, T, F, T, F, F, T, T, F, F, F, T, F, F, F}
• True위치에만 두더지 생성
16개 자리 중 랜덤 위치 생성
22. • void ShowMoles(){
bool[] tempBool = new bool[16];
for(int i=0; i<16; i++){
tempBool[i] = (i < 6) ? true : false;
}
//2page
}
16개 자리 중 랜덤 위치 생성
23. • void ShowMoles(){
//2page
//random shuffle
for (int i = 0; i < 15; i++) {
int randNum = Random.Range (i+1, 16);
bool temp = tempBool [i];
tempBool [i] = tempBool [randNum];
tempBool [randNum] = temp;
}
//3page
}
16개 자리 중 랜덤 위치 생성
24. • void ShowMoles(){
//3page
//random positioning
for (int i = 0, moleIndex = 0; i < 16; i++) {
if (tempBool [i] == true) {
moles [moleIndex].transform.position = positions[i];
moleIndex++;
}
}
}
16개 자리 중 랜덤 위치 생성