SDL에서 게임이 굴러가는 가장 기본적인 매커니즘은
1. 메인에서 게임 내용물을 연다
2. 게임을 굴리면서 매 프레임마다 입력을 받고 연산을 하고 그림을 출력
3, 2번을 반복하다 게임을 끄면 내용물을 전부 지우고 종료
3줄 요약이 됨
음악 트는건 나중에 나오는 영역인 셈이라서 일단 뺌
소리 끄고 로그라이크같은건 할 수 있잖아
이 글은 SDL의 핵심으로 볼 수 있는 그림의 출력 부분을 얘기함
1. SDL_Surface 타입으로 선언한 개체에다 경로상의 그림을 불러옴
2. SDL_Texture 타입의 개체로 SDL_Surface에서 불러온 내용물을 복사함
3. SDL_Surface의 내용물을 지우고, SDL_Texture에 할당된 그림은 너가 원하는대로 출력함
세줄 요약 끝
SDL_Surface에다 불러오기만 하는거고 그림을 저장할 곳은 SDL_Texture
SDL_Texture에다 그림을 불러왔으면 출력하면 되는데,
사각형의 위치와 크기를 담은 SDL_Rect라는 함수에 x,y(위치)랑 w,h(가로세로길이)값을 지정하고
이 그림의 어딘가의 위치부터 어느크기만큼 잘라서
화면상 어딘가 위치의 어느 크기만큼의 사각형 칸에 맞게 출력한다.
그러니까 사각형 값이 두개가 필요한데(특히 스프라이트처럼 그림 일부를 잘라서 사용하는 경우는)
그림을 자를때 쓰는 사각형 값을 NULL로 둬서 출력할 위치와 크기만 지정할 수도 있음(이러면 그림의 전체가 출력됨)
+ 출력할 위치를 NULL로 만들면 화면 전체로 확대해서 출력함
실습코드는 나중에 짜서 실습코드 글 새로 올릴게
댓글 0