1인 개발 55

나홀로 성 지키기 개인 프로젝트 15일차

구현 기능 1. 스킬 속성 구현 SkllData에 Attribute를 추가해서 각각 스킬의 속성을 적용했다. 그래서 3가지 스킬 모두 같은 속성의 스킬을 장착하면 1.5배의 Atk 상승 효과를 적용했다. 그리고 장착 속성에 맞게 스킬창 UI 색을 적용했다. private void UpdateSkillFieldBackground() { if(_playerData.EquipMeleeSkillData.Attribute == _playerData.EquipRangedSkillData.Attribute && _playerData.EquipRangedSkillData.Attribute == _playerData.EquipAreaSkillData.Attribute) { _playerData.IsAttribute = ..

나홀로 성 지키기 개인 프로젝트 14일차

트러블 슈팅 1. Json 데이터 저장 [System.Serializable] public class SkillData { [Header("Common Stats")] public string Tag; public string Description; public int Level; public Sprite Icon; public GameObject SkillPrefab; } 기존 SkillSO의 데이터를 Json으로 데이터 저장을 위해 class로 만들었다. 하지만 각각 드래그 드롭으로 연결했던 데이터가 몇 번의 데이터 저장, 불러오기를 진행하면 위 처럼, Icon에는 Missing, SkillPrefab에는 엉뚱한 프리팹이 연결되었다. public class SkillData { [Header("Com..

나홀로 성 지키기 개인 프로젝트 13일차

트러블 슈팅 1. 데이터 저장 ScriptableObject는 게임 실행 중에도 데이터 변경이 저장되므로, Player 정보, 인벤토리, Stage 정보, Enemy 정보 등 모든 데이터를 ScriptableObject로 관리했다. 하지만 이 변경 내용은 유니티가 실행 중일 때, 플레이 모드를 껐다 켰을 때만 적용이 되었고, 유니티 자체를 껐다가 켰을 때는 인벤토리의 스킬이 제대로 저장되지 않았다. ScriptableObject의 기능에 대해서 제대로 알지 못하고 구현을 해서 문제가 생겼다. 그래서 다른 데이터 저장 방법이 필요했다. 데이터 저장 방법 EasySave 에셋 사용 Jason 사용 PlayerPrefs 사용 가장 간단한 것은 에셋스토어에서 유료 저장 에셋을 구매하는 것이다. 하지만 포트폴리오..

나홀로 성 지키기 개인 프로젝트 12일차

구현 기능 1. 사운드 슬라이더 바 구현 Loby 씬, Battle 씬에서 볼륨 조절 구현 ScriptableObject에 볼륨 값을 저장 public void BGMControll() { float sound = BGMSlider.value; GameManager.I.DataManager.GameDataSO.BGMVolume = sound; if (sound == -40f)// -40일 때, 음악을 꺼줌 { _audioMixer.SetFloat("BGM", -80f); } else { _audioMixer.SetFloat("BGM", sound); } } https://kkln2486.tistory.com/155 사운드 슬라이더 바 만들기 1. 슬라이더 추가 볼륨은 -80~20까지 존재하지만, -40~..

나홀로 성 지키기 개인 프로젝트 11일차

구현 기능 1. 스킬 장착 구현 Slot을 클릭하면 정보 UI가 생성되고, 장착을 클릭하면 장착 스킬이 변경 되도록 구현 https://kkln2486.tistory.com/183 인벤토리 만들기 인벤토리 만들기 1. 인벤토리 스크롤 만들기 https://kkln2486.tistory.com/180 인벤토리 스크롤 설정 (Scroll View, Grid Layout Group) Scroll View : 스크롤 기능 Grid Layout Group : 자식 오브젝트들을 일정하게 정렬 설 kkln2486.tistory.com 2. 스킬 뽑기 구현 Coin으로 스킬 뽑기를 구매 가지고 있는 구매 횟수로 스킬을 뽑을 수 있음 가지고 있는 스킬일 경우, CurrentUpgradeConut에 +1을 해서 MaxUp..

나홀로 성 지키기 개인 프로젝트 10일차

구현 기능 1. 스킬 추가 구현 기존 구현 스킬과 동일하게 구현 각각 SO 생성 2. 스킬 인벤토리 구현 public class PlayerSO : StatSO { [Header("Player Skill Inventory")] public List SkillInventroy; [Header("Player Equip Skills")] public SkillSO EquipMeleeSkill; public SkillSO EquipRangedSkill; public SkillSO EquipAreaSkill; } Player가 가지고 있는 스킬을 관리하는 List를 PlayerSO에 만들었다. https://kkln2486.tistory.com/183 인벤토리 만들기 인벤토리 만들기 1. 인벤토리 스크롤 만들기 ..

나홀로 성 지키기 개인 프로젝트 9일차

구현 내용 1. LevelUp 구현 버튼 클릭 시, 가지고 있는 코인으로 Player와 Castle의 경험치로 바꿀수 있도록 했다. 그리고 일정 경험치를 넘으면 레벨업을 하도록 구현했다. public void PlayerExpButton() { if(GameManager.I.DataManager.GameDataSO.Coin >= _expPrice) { GameManager.I.DataManager.GameDataSO.Coin -= _expPrice; _coinText.text = GameManager.I.DataManager.GameDataSO.Coin.ToString(); _playerSO.CurrentExp += _exp; if (_playerSO.CurrentExp >= _playerSO.MaxEx..

나홀로 성 지키기 개인 프로젝트 8일차

구현 내용 1. LobyScene 제작 2. UI 구현 일시정지 UI 구현 (볼륨 조절은 아직 미구현) GameClear UI 구현 GameOver UI 구현 3. DangerTime 구현 제한 시간이 20초 남았을 때, 빨간색 화면이 깜빡이도록 구현. Panel의 color.a 값 조절을 코루틴으로 반복해서 구현. https://kkln2486.tistory.com/382 화면 깜빡이기 구현 방법 1. Panel 생성 Panel을 생성해서 color.a 값을 중간 정도로 설정한 뒤, 칼라를 설정한다. 2. 스크립트 작성 FadeInOut using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEng..

나홀로 성 지키기 개인 프로젝트 7일차

구현 내용 1. 화살 구현 Rigidbody와 AddForce로 포물선 운동 구현 코루틴으로 좌, 우 반복해서 발사 오브젝트 풀 사용 https://kkln2486.tistory.com/367 2D 화살 구현 (포물선 운동) 구현 방법 1. 스크립트 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Arrow : MonoBehaviour { public float _power; private Rigidbody2D _rigidbody; private void Awake() { _rigidbody = GetComponent() kkln2486.tistory.com 2. 원거리 적 구현 기존..

나홀로 성 지키기 개인 프로젝트 6일차

구현 내용 1. SoundManager 이전 3D 프로젝트에서 사용했던 방법을 참고해서 구현했다. Dictionary를 사용해서 string key값으로 AudioClip value 값을 가져와서 Resources 폴더에 있는 음악 파일을 재생할 수 있도록 구현 https://kkln2486.tistory.com/213 SoundManger SoundManger BGM을 담당하는 AudioSource 1개, Player SFX를 담당하는 AudioSource 1개, 그 외 SFX를 담당하는 AudioSource 여러개를 가지고 있음 BGM과 SFX의 사운드가 모두 SoundManger에서 재생 MainCamera 자식 오브젝트 kkln2486.tistory.com 2. CameraShake 메인 카메라의..