SOLID 원칙 SOLID 원칙은 객체 지향 프로그래밍 및 설계에서 소프트웨어의 유지보수성과 확장성을 향상시키기 위해 제안된 다섯 가지 설계 원칙의 약어이다.단일 책임 원칙 (Single Responsibility Principle, SRP):정의: 클래스는 하나의 책임만 가져야 한다. 다시 말해, 클래스는 단 하나의 기능만 가져야 하며, 그 기능에 대해 완전히 책임져야 한다.예시: 사용자 정보를 처리하는 클래스는 사용자 데이터베이스와 관련된 기능만 포함해야 하며, 이메일 전송과 같은 기능은 별도의 클래스에 구현해야 한다.개방-폐쇄 원칙 (Open-Closed Principle, OCP):정의: 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하지만, 수정에는 닫혀 있어야 한다.예시: ..
Record/TIL
Let's Go Idol!이번 프로젝트에서는 몇몇 추억의 게임들을 선택하여 그들을 현대적인 버전으로 재현해볼 것입니다.게임 개발의 기초를 학습한 후, 그 핵심 요소 중 하나인 "충돌 처리"에 중점을 두고 진행됩니다.프로젝트의 선택 구현 사항에서는 게임의 다양한 측면을 향상시키는 데 도움이 되는 기능들을 추가할 것입니다.이런 과정을 통해 게임 개발의 창의성을 경험하고, 새로운 스킬을 습득할 수 있습니다.>> 기반이 된 게임 똥피하기파일:attachment/suberunker.jpg 원제는 스베랑카(SUBERUNKER). 스페랑카 에서 따왔다.namu.wiki 주요기능1. 로그인만약 목록에 만들어져있는 아이디와 비밀번호가 없다면 메인 게임시작씬으로 넘어가지 못합니다.아이디와 비밀번호를 입력받아 각각 유저의 ..
Video PlayerVideo Player 컴포넌트의 Material Property 는 기본적으로 게임 오브젝트의 메인 텍스처로 설정되어 있다.이 설정에서는 렌더러가 있는 게임 오브젝트에 Video Player 컴포넌트가 연결되면, 렌더러의 텍스처가 게임 오브젝트의 메인 텍스처이기 때문에 자동으로 해당 렌더러의 텍스처에 자신(비디오 플레이어)을 할당한다. 사용 순서 처음은 두가지 방법이 있는데1-1. 비디오 플레이어로 쓸 빈오브젝트를 생성한 후 Video Player를 추가하기 1-2. Vedio 클릭 > Video Player 클릭하여 생성하기 본인이 원하는 방식으로 만들면 될 것 같다. 2. 1번이 끝났으면 영상을 재생할 UI인 Raw Image도 생성해준다.!! Image가 아니라 Raw..
2줄 요약은 [ 두 메서드의 차이 ] 부분으로 바로 내려서 보세요! TryGetValue이 메소드는 사전에 특정 키가 존재하는지 확인하고, 해당 키가 존재할 경우 그 값을 가져오는 데 사용된다. 이렇게 하면 키가 존재하지 않을 때 발생할 수 있는 예외를 피할 수 있다.TryGetValue()는 Dictionary에 키가 있는지 여부를 나타내는 부울 값을 반환하고, 키와 연결된 값을 출력한다. > TryGetValue 메서드 사용 코드 Dictionary exam = new Dictionary();Console.Write("키를 입력하세요: ");string input = Console.ReadLine();exam.Add("a", 1);exam.Add("b", 2);exam.Add("c", 3);fore..
Toggle?토글(Toggle) 컨트롤은 사용자가 옵션을 켜거나 끌 수 있도록 하는 체크박스이다.익숙한 단어로는 라디오버튼이라고 할 수 있다. Toggle 사용법먼저 Script를 연결해둔 SoundManager Object에 토글들을 연결하고 이벤트를 넣어준다 backGroundMusic1.onValueChanged.AddListener(delegate { ToggleClick(); }); backGroundMusic2.onValueChanged.AddListener(delegate { ToggleClick(); }); backGroundMusic3.onValueChanged.AddListener(delegate { ToggleClick(); });이벤트 리스너를..
문제점Resources 폴더안에 Json을 생성해놓고 불러와서 읽고 쓰게 하고싶었는데 이미 빌드중인 상태일때는 파일을 동적으로 수정하거나 할때는 사용하지않는다고 해서 고민을 했다. 아직 본격적인 프로젝트가 아닌데 서버를 만들어서 하기에는 좀 헤비하다고 생각했고 간단하게 로그인 시스템을 구현할 수 있을 것 같다고 생각해서 열심히 찾아봤다. 해결 방법 > 유니티 저장 경로 [Unity] 유니티 저장 경로(dataPath, streamingAssetsPath, persistentDataPath 경로와 차이점)[서문] 게임을 만드는 도중, 세이브/로드가 잘 안 먹히는 현상때문에 골머리를 앓았는데요, 실시간으로 인게임에서 데이터를 불러오고 저장하는게 잘 안 되는 현상이었습니다. (에디터 밖으로geukggom.ti..