목록프로젝트/CJ UNIT 7기 게임TF (13)
공hannah부

여러가지 자잘한 수정 후 드디어 급식실 게임을 완성했다!! 이제 다른 팀원들이 개발한 게임을 모두 합쳐 하나의 리듬랜드를 구성하면 끝! (사실 이미 진행중ㅎ 곧있음 전체 게임 완성이다!!! 조금만 더 화이팅..!) 실행 영상

오늘의 내용 - 학생을 올바르게 처리하면 긍정적 효과음, 틀리면 부정적 효과음 주기 효과음 준비 BGM찾을 때 사용했던 BGM factory에서 이번 효과음도 다운받았다. 여러 효과음을 들어본 결과 아래와 같이 정했다! - perfect, cool, good → [자막_베스트질문] 반려동물의 모든 움직임 - bad,miss → [미끌, 실수, 부끄러운] 주식 콘텐츠에 어울리는 효과음 패키지 StartBGM script 효과음을 실행시키는 함수를 Start BGM 스크립트에 만든 후 NoteO/NoteX 스크립트에 가져와 사용했다. - 긍정/부정 효과음 실행 함수 public void EffectSoundO()//perfect,cool,good 효과음 { myAudio.PlayOneShot(effectSo..

오늘의 내용 -튜토리얼까지는 아니고 게임 시작 전 게임 방식 설명해주는 장면 만들기 이미지, 문구 세팅 -설명 페이지 각각 세팅하기 -각각의 페이지에 말풍선 크기 버튼 삽입 (말풍선 누르면 다음 페이지 넘어가도록) Tutorial Script - 게임을 실행시키면 게임 설명 1페이지 true로 변경 void Update() { if(SchoolLunch_GameManager.instance.isStartTutorial) { Text1.SetActive(true);//튜토리얼 1페이지 } } - 게임 설명 1페이지에서 클릭 버튼 누르면 1페이지 false, 2페이지 true로 변경 public void Button1()//click버튼 누르면 2페이지 보이게 { Text1.SetActive(false); ..

오늘의 내용 - 게임이 끝나면 다시 할 수 있는 다시시작 버튼을 만들고 기능을 구현해보자(+게임초기화) - 버튼이 안눌릴 때 해결 방법 GameManager - 다른 스크립트에서도 쉽게 가져와 쓸 수 있도록 static instance를 해준다. - 게임이 끝났는지 안끝났는지 알 수 있도록 isStartGame 변수를 만들어준다. public static GameManager instance; public bool isStartGame = false; - GameStart 함수를 만들어 준다. → 학생, 점수, 콤보 등의 정보들 초기화 → isStartGame = true로 바꿔주기 public void GameStart() { theNote.Initialized(); theCombo.ResetCombo..

오늘의 내용 - 학생을 계속 생성하고 파괴하는 과정은 모바일 환경에서 치명적이다 -> 렉 유발 - 오브젝트 풀링을 사용해 이를 완화시켜보자 - 오브젝트 풀링이란? 미리 객체를 생성하고 필요할 때마다 가져다 쓰는 것! Object Pool 인스펙터 창에서 받아올 값 - 오브젝트 풀링 할 오브젝트 - 미리 만들어놓을 오브젝트 갯수 - 부모가 될 곳 [System.Serializable] public class ObjectInfo { public GameObject goPrefab; public int count; public Transform tfPoolParent; } 오브젝트 풀링 해야할 오브젝트 - 계속 생성되는 식판 든 학생 / 안든학생 (기본학생) - 클릭 / 드래그 했을 때 바뀌는 행복한 학생 /..

오늘의 내용 - BGM길이가 너무 길어 게임이 길어지는 것 같아 BGM길이 줄이기로 했다 - 게임 클리어 기준 높이기 - 드래그를 짧게 하면 클릭과 드래그가 동시에 인식되는 오류가 있다 -> 드래그 인식 정도를 지정해줘야겠다 BGM - BGM은 https://mp3cut.net/ko/ 이 싸이트를 사용해 잘라주었다. - 길이를 얼마나 잘라야할 지 몰라 1분 9초, 1분 25초 짜리 두개를 만들어두고 게임에 넣어 뭐가 가장 적당할지 테스트 해보았다. - 테스트해보니 1분9초는 너무 짧은 것 같아 1분 25초로 결정! - 노래가 짧아졌으니 생성되는 학생 수도 줄여야 했기에 생성되는 학생 수를 97명에서 82명으로 바꿔주었다 //NoteManager if(StudentNum = 1500) GameClear.S..

오늘의 내용 - #8 결과창 띄우기에서 예비로 게임 오버를 비활성화시켜 놓은 것을 깜빡하고 게임 클리어 / 오버 구분하는 코드를 빼먹었다...! - 게임 클리어 / 오버 조건을 정해주고 이를 결과창에 띄어보자! Result - 인스펙터 창에서 game clear, game over 이미지를 비활성화 시켜준다 - 스크립트에서 이 두개의 이미지를 가져온다 [SerializeField]GameObject GameClear = null; [SerializeField]GameObject GameOver = null; - t_currentScore가 1000점 이상이면 game clear 이미지를 활성화 시키고 아니면 game over이미지를 활성화 시킨다 if(t_currentScore >= 1000) GameC..

오늘의 내용 게임이 끝난 후 화면에 perfect / cool / good / bad / miss의 갯수와 최종 점수를 띄어주기 - EffectManager에서 각 판정 p,c,g,b,m이 몇번 쓰였는지 가져와야함 - ScoreManager에서 currentScore을 가져와야함 EffectManager - JudegementEffect 함수에 judgementRecord[p_num]++; 넣어주어 각 배열에 p,c,g,b,m가 쓰인 갯수 저장하기 public void JudgementEffect(int p_num) { judgementImage.sprite = judgementSprite[p_num]; judgementAnimator.SetTrigger(hit); judgementRecord[p_num..