목록2024/09/25 (5)
cyphen156
유니티는 기본적으로 C# 소스 파일을 오브젝트의 컴포넌트로 활용할 수 있다. 무슨 말이냐 하면 유니티를 사용하는 게임 개발자는 전체 시스템에 대한 구조를 고민할 필요 없이 하위 컨텐츠만을 생각하면 된다는 이야기이다. 특이하게 유니티는 전통적으로 프로젝트의 진입점을 정의하는 main파일을 제공하지 않는다. 대신 엔진내부에서 MonoBehaviour 클래스를 통해 게임 오브젝트의 컴포넌트를 제어한다. 유니티는 다양한 샘플 스크립트들을 제공하는데 가장 많이 쓰이는 것은 MonoBehaviour 스크립트이다.MonoBehaviour 클래스는 다른 모든 유니티에서의 동작 클래스들을 상속하고 있는 클래스로 가장 범용적으로 사용되기 때문이다. 프로젝트 창에서 샘플용 MonoBehaviour C#스크립트를 생성해보면 ..
레벨 디자인이라 함은 씬 하나를 기준을 삼아 게임 플레이에 필요한 리소스들을 모두 저장소에서 메모리로 가져오기 위한 일종의 프로젝트 패키징 이라고 볼 수 있다.다른말로는 맵이라고도 불리고 있으며, 게임을 진행할 때 로딩중...이라고 뜰 경우가 레벨 디자인(씬 또는 맵)이 변경되어 메모리에 적재되어가는 과정이라고 할 수 있다. 레벨 디자인에 포함되는 것은 씬 내의 지형, NPC와 같은 인스턴스들, 캐릭터 오브젝트들 그리고 UI와 같은 플레이할 때 사용자의 경험에 직 간접적으로 적용되는 모든것들에 대한 디자인을 포괄한다. 에셋 스토어 사용법에 대한 것은 이전 포스팅에서 다뤘으니 오늘은 에셋의 이름 정도만을 언급하고 넘어가겠다.이전과는 다르게 3D Core(URP)프로젝트를 levelDesign이라는 이름으로..
1152번: 단어의 개수 (acmicpc.net) 공백을 포함한 문자열을 입력받아 몇개의 단어가 존재하는지 구한다.한번에 한 단어씩 입력받아 개수를 세거나(C)한번에 모두 입력 받아 문자열 파싱을 통해 처리하거나(C++)C언어 문자열 입력 함수는 다양하게 존재한다. 문자 하나를 입력받는 getchar()공백을 포함, 개행문자 입력 전까지 입력받는 fgets()형식문자열을 입력받는 scanf / scanf_s()지정한 문자 입력 전까지 모든 문자를 입력받을 수 있는 scanf("%[^지정 문자]")-> 여러 줄로 이루어진 입력도 처리할 수 있음!제약사항0 주의 사항scanf는 '\0', '\t', '\n'입력 전까지 문자열을 입력 받는다.첫 입력으로 공백이 오는경우를 처리해야 한다.C 풀이단어의 개수_..
2675번: 문자열 반복 (acmicpc.net) 문자열 S를 입력받고, 각 문자를 R번 반복해 새로운 문자열을 만들어 출력abcde, 3 -> aaabbbcccdddeee제약사항0 0 0 주의 사항없다.C 풀이문자열 반복_2675.cC 코드는 배열에 저장하여 출력할 것이다.3중첩 반복문사용/*** 백준 문자열 2675 문자열 반복* 문자열 S를 입력받고, 각 문자를 R번 반복해 새로운 문자열을 만들어 출력* abcde, 3 -> aaabbbcccdddeee* C -> 배열 저장* C++ -> 바로 출력* * * 제한사항****************************************** 0 #include #include int main(void){ int T; char str[2..
GDI는 화면에 무엇인가를 보여주기 위해 사용되는 하드웨어에 의존하지 않는 가상 그래픽장치 인터페이스로, 2D그래픽을 처리한다.wingui.h함수 안에 존재하는데 windows.h안에 기본적으로 포함되어 있으므로 따로 호출할 필요가 없다.DC(Device Context)윈도우 클라이언트 영역에서 그리기 정보를 의미한다. HDC라는 핸들을 통해 운영체제가 자원을 직접 관리하고 있으므로 호출 했다면 반드시 반납해야 하는 메모리 관리가 필요하다.다음과 같이 WndProc함수 안에 DC함수 사용이 존재한다. case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); // TODO: 여기에 hdc를 사용하는 그리..