1인 개발 71

숫자의 신 개인 프로젝트 12일차

구현 내용1. 게임 Complete 구현 Hp가 0이 되면 Complete UI 활성화DataManager의 Coin 추가  회고오늘은 게임이 완료 되면 활성화 되는 UI를 제작했다. 다운 받은 에셋의 기본적인 틀을 수정해서 사용했다. 이제 게임을 진행함에 따라 난이도만 조절한다면 게임은 모두 완성이다. 게임 난이도를 조절하고, 로비 씬에서 구글 애드몹을 추가하도록 하겠다.

숫자의 신 개인 프로젝트 10일차

구현 내용1. EquipNumber 게임 적용  EquipButton 구현각 Number의 범위에 따라 칼라 적용EquipNumber을 사용해서 Block을 제거하면, 각각 500 Score 획득  회고오늘은 DataManager의 EquipNumbers 배열을 받아와서 EquipButton을 생성했다. 구현 방법은 이전 InventorySlot Button을 구현하는 코드와 거의 유사했다. 이제 게임에 필요한 모든 기능을 구현했고, 추가로 Score에 따라서 Block의 Speed나 생성 빈도를 조절해서 게임 난이도만 설정하면 된다. 이 부분은 최후에 하도록 하겠다! 내일은 상점 기능을 구현해서 Block 랜덤 뽑기를 구현하도록 하겠다!

숫자의 신 개인 프로젝트 9일차

구현 내용1. 인벤토리 장착 구현 Inventory Block 클릭 시, 장착Equip Block 클릭 시, 장착 해제  InventorySlot 스크립트private bool IsEquip(int num){ if (_slotNum >= 1 && _slotNum = 1 && _slotNum  획득한 숫자인지, 장착한 숫자인지를 판별하는 함수를 작성했다. 위 함수를 통해, 숫자의 장착, 해제를 구현했다.  회고오늘은 인벤토리를 모두 구현 완료했다. 반복문을 통해 DataManager의 배열을 탐색해서 판단하여 인벤토리를 나타내고 장착을 구현했다. 내일은 장착한 숫자가 게임에서 사용될 수 있도록 적용하고, 상점을 구현하겠다.

숫자의 신 개인 프로젝트 8일차

구현 내용1. 데이터 저장https://kkln2486.tistory.com/408 데이터 저장 (Easy Save 에셋)Easy save데이터를 쉽고 빠르게 저장 가능모바일 기기에서도 빠른 속도 JSON 및 XML과 비교하여 훨씬 빠르고 훨씬 적은 메모리 사용효율적이고 안전한 데이터 암호화빠른 개발과 오래된 지속적인 업kkln2486.tistory.com  데이터 저장은 Easy Save 에셋을 사용했다. 에셋을 통해 쉽고 안전하게 데이터를 로컬 저장할 수 있다. 전체적인 데이터는 모두 에셋을 이용해서 로컬에 저장하고, 랭킹 관련 데이터만 뒤끝 서버를 이용할 것이다.  2. 인벤토리 구현  현재 획득한 Number 확인 가능숫자 범위 별, 칼라 적용장착 버튼 미구현  DataManager 스크립트[Sy..

숫자의 신 개인 프로젝트 7일차

구현 내용1. ChangeButton 2회까지 사용 가능한 ChangeButton 구현계산식을 변경추가 Item 구현 예정  2. Item 추가 ChangeCount를 1증가 시키는 Item을 추가 구현  3. LobbyScene 생성  다운 받았던 UI 에셋을 활용해서 LobbyScene를 생성했다.    회고오늘로 게임 플레이에 관련된 기능들은 모두 구현했다. 플레이 종료 UI나 게임 밸런스 조절은 나중으로 미뤘다. 그리고 로비씬을 생성하고 기본적인 틀을 생성했다. 내일은 게임 데이터 저장 기능과 인벤토리, 상점 기능을 구현하도록 하겠다!

숫자의 신 개인 프로젝트 6일차

구현 내용1. Block Item 구현 Hp Item / Time Item / Destroy Item 추가일정 확률로 Block이 Item을 가지고 스폰Dotween Pro 에셋 적용  Block 스크립트public enum Item{ None, Hp, Time, Destroy,}private void SetItemType(){ int value = Random.Range(1, 101); int value2 = Random.Range(1, _itemTypes.Length); if (value  각각 Item 이름을 enum으로 설정, 오브젝트를 활성화 할 때 마다, Item의 종류를 랜덤으로 설정했다.  Destroy Itemprivate void ItemAbilit..

숫자의 신 개인 프로젝트 5일차

구현 내용1. 사운드 매니저 구현https://kkln2486.tistory.com/213 SoundMangerSoundManger BGM을 담당하는 AudioSource 1개, Player SFX를 담당하는 AudioSource 1개,  그 외 SFX를 담당하는 AudioSource 여러개를 가지고 있음BGM과 SFX의 사운드가 모두 SoundManger에서 재생MainCamera 자식 오브젝트kkln2486.tistory.com 사운드 매니저 구현 후, 사운드 적용  2. Block 추가 좌우로 움직이는 Block 추가회전하는 Block 추가Boss Block 추가 Block에 int형의 Hp를 추가하고, 0이 되면 사라지도록 했다. BossBlock 일 경우, Hp가 2, 1 일 때는 Scale 값..

숫자의 신 개인 프로젝트 4일차

구현 내용1. 오브젝트풀 구현 디펜스 게임 특성 상, Block의 생성 파괴가 계속 반복된다. 프리팹의 Instantiate, Destroy 함수는 비용이 크기 때문에 오브젝트를 미리 생성해서 재사용하는 ObjectPool을 사용해서 최적화 했다.  ObjectPoolControllerpublic GameObject CreateBlock(string poolName, Vector3 startPosition){ GameObject block = ObjectPool.SpawnFromPool(poolName); block.transform.position = startPosition; block.SetActive(true); return block;}  ObjectPool[System.S..

숫자의 신 개인 프로젝트 3일차

구현 내용1. Block 생성 일정 시간마다 Block 프리팹을 반복해서 생성Block은 수평, 수직 방향으로 이동Block이 벽에 닿으면 수평 이동 방향 변경Destroyline에 닿으면 Block 파괴 2. Blcok 파괴 생성된 Block들 중, 계산 결과가 있다면 Block 파괴 후, Score 획득Block을 끝까지 계산 못하면 HP 감소  GameController 스크립트public Dictionary Blocks;IEnumerator COCreateBlock(){ while (true) { SetBlockNumber(10); yield return new WaitForSeconds(BlockCreateTime); }}private void Creat..