스파르타코딩클럽 게임개발(57)
-
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 48일차(간단한 사운드 매니저)
SoundManager 클래스 SoundManager 클래스 개요 Unity 프로젝트에서 배경음악과 효과음을 관리하기 위해 설계된 SoundManager 클래스 이 클래스는 싱글톤 패턴을 사용하여 프로젝트 어디에서든 접근 가능하고, 음악과 효과음을 별도로 관리한다. SoundManager.cs using System; using System.Collections.Generic; using UnityEngine; public enum SoundType { HIT, DEAD, //TODO.. } public class SoundManager : MonoBehaviour { private Dictionary musicSources = new Dictionary(); private Dictionary effec..
2024.01.09 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 47일차(던전 생성기)
던전을 만드는 DungeonGenerator을 만들었다. 이 부분을 다루는 내용은 워낙 길어 추후에 정리해서 다시 올리도록 하는 편이 좋을것 같다. 하지만 여기서 사용한 알고리즘이 몇개 있는데 그 부분을 소개해 보도록 하겠다. using System.Collections; using System.Collections.Generic; using UnityEngine; using Random = UnityEngine.Random; public static class ProveduralGenerationAlgorithms { public static List PositionPoints = new List(); public static HashSet SimpleRandomWalk(Vector2Int startP..
2024.01.09 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 46일차(인벤토리 시스템 3 크래프팅!)
인벤토리 시스템 3 크래프팅 ! 클래스 이름 역할 설명 CragtingButton 크래프팅 버튼의 기능을 담당하며, 사용자가 아이템을 조합하여 새로운 아이템을 만들 수 있게 한다. CraftringItemHolder 크래프팅에 사용될 아이템을 보관하고 관리한다. 사용자가 아이템을 드래그 앤 드롭하여 크래프팅에 사용할 수 있도록 한다. ChestInventory 게임 내 상자와 같은 인벤토리 객체를 관리한다. 플레이어가 상자와 상호작용할 때 인벤토리 시스템을 표시하는 데 사용된다. PlayerInventoryHolder 플레이어의 인벤토리 시스템을 관리한다. 플레이어가 소지한 아이템을 관리하고 필요에 따라 아이템을 추가하거나 제거하는 기능을 한다. ResultItemHolder 크래프팅 결과물을 보관한다...
2024.01.05 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 45일차(인벤토리 시스템 2)
유니티 인벤토리 시스템 2 이번에는 저번의 인벤토리 시스템을 이어서 작성한다. 인벤토리 슬롯을 클릭하거나 이동시키거나 디스플레이에 보이도록 하는 스크립트를 작성하였다. 1. InventoryDisplay 스크립트 InventoryDisplay는 인벤토리 UI를 관리하는 추상 클래스다. 이 클래스는 인벤토리 시스템(InventorySystem)과 UI 슬롯(InventorySlot_Ui)을 연결하고, UI 업데이트를 처리한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.Events; public abstract class ..
2024.01.04 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 44일차(ResourceManager 클래스 사용하는법)
Addressables를 사용하는 ResourceManager 클래스 ResourceManager 클래스를 사용하는 방법을 작성하지 않은것 같아서 이번기회에 작성할려고 합니다. 아래의 링크를 확인하면 코드의 전문을 확인할 수 있습니다. 오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 34 & 35일차 땜빵( Addressable을 이용하여 리소스매니저 만들기) (tistory.com) ResourceManager 클래스 소개 ResourceManager 클래스는 Unity의 Addressables 시스템을 활용하여 리소스을 효율적으로 로드하고 관리합니다. 이 클래스는 비동기 로딩, 동기 로딩, 그리고 프리팹 인스턴스화 등 다양한 기능을 제공합니다. 주요 기능 비동기 로드: 리소스을 비동기적으로 로드..
2024.01.03 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 42일차땜빵(아이템 제작 스크립트 리팩토링 .. 실패)
마인크래프트 형식의 아이템 제작을 구현하는 코드를 검색하며 블로그를 뒤져가며 찾았다. 하지만 코드가 워낙 한 클래스에 너무 기능이 집약되어있어 리팩토링을 진행할까 싶었다. 아래는 원본 코드이다. ``` using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [System.Serializable] public class SlotContainer { public Sprite itemSprite; // 아이템의 스프라이트 (아이템 배열에 있는 것과 동일해야 함), 또는 null로 두면 아이템 없음 public int itemCount; // 이 슬롯에 있는 아이템 수, 1 이하면 1개의..
2024.01.02