raylib:tetris:gettingstarted
gettingstarted
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
| raylib:tetris:gettingstarted [2025/12/27 23:25] – 만듦 이거니맨 | raylib:tetris:gettingstarted [2025/12/28 22:19] (현재) – 이거니맨 | ||
|---|---|---|---|
| 줄 14: | 줄 14: | ||
| 윈도우 창에 텍스트만 나오게 하는 간단한 Hello world 파일을 시작파일로 하자 | 윈도우 창에 텍스트만 나오게 하는 간단한 Hello world 파일을 시작파일로 하자 | ||
| + | Raylib에서 윈도우 창을 만들고 드로잉을 하는 간단한 보일러플레이트는 다음과 같다. 이를 시작파일로 할 것이다. | ||
| + | <file cpp " | ||
| + | #include " | ||
| + | /* This is created by Dongkun Lee. Korean Attorney at Law. | ||
| + | First Created at 12/28/2025 | ||
| + | */ | ||
| + | |||
| + | |||
| + | /* ------------------------------------------------------------- | ||
| + | // Program main entry point | ||
| + | --------------------------------------------------------------- */ | ||
| + | int main(void) | ||
| + | { | ||
| + | // Initialization | ||
| + | const int screenWidth = 500; | ||
| + | const int screenHeight = 600; // Cell Size is 30px. and There are 20 grid horizontally. | ||
| + | |||
| + | InitWindow(screenWidth, | ||
| + | |||
| + | Image icon = LoadImage(" | ||
| + | SetWindowIcon(icon); | ||
| + | |||
| + | SetTargetFPS(60); | ||
| + | |||
| + | // Main game loop | ||
| + | while (WindowShouldClose() == false) | ||
| + | { | ||
| + | // Draw | ||
| + | // | ||
| + | BeginDrawing(); | ||
| + | |||
| + | ClearBackground(RAYWHITE); | ||
| + | DrawText(" | ||
| + | | ||
| + | EndDrawing(); | ||
| + | // | ||
| + | |||
| + | } | ||
| + | |||
| + | // De-Initialization | ||
| + | CloseWindow(); | ||
| + | // | ||
| + | |||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== 2. Makefile ==== | ||
| + | |||
| + | Makefile은 다음과 같이 만들었다. | ||
| + | |||
| + | |||
| + | <file Make " | ||
| + | #Project Name | ||
| + | PROJECT ?= tetris | ||
| + | # Define required raylib variables | ||
| + | RAYLIB_PATH | ||
| + | |||
| + | # Define include path | ||
| + | INCLUDE_PATH | ||
| + | |||
| + | # Define compiler path on Windows | ||
| + | COMPILER_PATH | ||
| + | # Build mode for project: DEBUG or RELEASE | ||
| + | BUILD_MODE | ||
| + | |||
| + | # Define default C compiler: gcc | ||
| + | # NOTE: define g++ compiler if using C++ | ||
| + | CC = g++ | ||
| + | |||
| + | # Define default make program: Mingw32-make | ||
| + | MAKE = mingw32-make $(PROJECT) | ||
| + | # Compile option | ||
| + | CFLAGS += -Wall -std=c++14 -D_DEFAULT_SOURCE -Wno-missing-braces | ||
| + | |||
| + | ifeq ($(BUILD_MODE), | ||
| + | CFLAGS += -g -O0 | ||
| + | else | ||
| + | CFLAGS += -s -O1 | ||
| + | endif | ||
| + | |||
| + | # Define include paths for required headers | ||
| + | # NOTE: Several external required libraries (stb and others) | ||
| + | INCLUDE_PATHS = -I. -I$(INCLUDE_PATH) | ||
| + | |||
| + | # Define library paths containing required libs. | ||
| + | LDFLAGS = -L. -L$(RAYLIB_PATH) | ||
| + | |||
| + | # Define any libraries required on linking | ||
| + | # if you want to link libraries (libname.so or libname.a), use the -lname | ||
| + | LDLIBS = -lraylib -lgdi32 -lwinmm | ||
| + | |||
| + | # Define all source files required | ||
| + | SRC_DIR = . | ||
| + | OBJ_DIR = obj | ||
| + | |||
| + | |||
| + | # Default target entry | ||
| + | # NOTE: We call this Makefile target or Makefile.Android target | ||
| + | all: | ||
| + | $(MAKE) | ||
| + | |||
| + | $(OBJ_DIR)/ | ||
| + | @mkdir -p obj | ||
| + | $(CC) | ||
| + | |||
| + | |||
| + | #Icon file path | ||
| + | ICON += icon/ | ||
| + | |||
| + | |||
| + | #목적 파일 만들기 | ||
| + | OBJS = $(OBJ_DIR)/ | ||
| + | |||
| + | |||
| + | #컴파일 | ||
| + | tetris : $(OBJS) | ||
| + | $(CC) $(CFLAGS) | ||
| + | </ | ||
| + | |||
| + | 앞으로 배우면서 모든 의존성을 확인하기 위하여 라이브러리(lib)와 헤더파일(include)을 프로젝트 폴더 하단에 위치했음을 눈여겨 보자. | ||
| + | |||
| + | 또한 [[: | ||
| + | |||
| + | |||
| + | 다음 번에는 그리드 개념을 배우도록 할 것이다. | ||
| + | |||
| + | |||
| + | ===== 참고 ====== | ||
| + | |||
| + | ==== 1. 시작 파일 ==== | ||
| + | |||
| + | 전체 시작파일은 다음 첨부파일과 같다. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | ==== 2. 아이콘 만들기 ==== | ||
| + | |||
| + | [[: | ||
| + | |||
| + | ==== 3. VS Code 설정파일 ==== | ||
| + | |||
| + | 너무 편하게 하면 코딩 실력이 늘지 않을 것이다. 또한 Makefile을 만드는데에 익숙해질 필요도 있다. | ||
| + | |||
| + | 따라서 VS Code 설정파일은 위의 첨부파일에는 없다. VS Code 설정파일을 만드는 방법은 [[: | ||
raylib/tetris/gettingstarted.1766845511.txt.gz · 마지막으로 수정됨: 저자 이거니맨
