본문 바로가기

강의

[SDL Tutorial] Lesson 10 - Key State 안녕하신가요? 정말 오랜만에 강의 포스팅을 하는군요. 뭔가 이렇게 띄엄띄엄하다보니 어떤식으로 진행했는지나 기타 등등이 잘 기억이 안나네요 ㅎㅎ; 저 자신도 초보인데 누굴 가르친다고 생각하니 좀 우쭐해있지 않았나 하고 생각이 들기도 합니다. 어쨌든, 오늘은 키보드 버튼의 상태를 다루는 다른 방법에 대해 다뤄보겠습니다. 이벤트를 사용하지 않고 키보드 상태를 처리하는 법입니다. 10 - 1 : Key States Lesson 8에서 우리는 이미 이벤트를 이용해서 키보드를 다루는 법을 배웠습니다. 그런데 간단하게 키보드의 눌린 상태를 알 수 있는 함수가 있습니다. 바로 SDL_GetKeyState 라는 함수인데, 아래 예제에서 다루겠지만 각 버튼이 현재 눌렸는지 안눌리고 있는지를 검사해주는 함수입니다. 키에 대.. 더보기
[SDL Tutorial] Lesson 9 - 마우스 이벤트 오늘은 마우스 이벤트에 대해서 강의를 해볼까 합니다. 어렵지 않으니 쉽게 하실 수 있을거에요. 9 - 1 : Mouse Event 마우스 동작으로 일어날 수 있는 이벤트의 종류는 크게 3가지 입니다. 마우스가 움직일 때의 이벤트(MOUSEMOTION), 마우스의 버튼이 눌렸을 때의 이벤트(MOUSEBUTTONDOWN), 마우스의 버튼이 눌린상태에서 버튼을 땠을 때의 이벤트(MOUSEBUTTONUP)가 있지요. 이 3가지 이벤트는 이전에 배웠던 SDL_PollEvent 함수를 통해서 알 수 있습니다. 그리고 마우스 커서의 현재 위치에 대해서는 event.motion이나 event.button 으로 알 수 있습니다. 9 - 2 : Sheldon's Reaction 빅뱅이론에 나오는 Sheldon의 반응(?).. 더보기
[SDL Tutorial] Lesson 8 - Key Press 안녕하세요. 오늘은 대부분의 게임에서 빼놓을 수 없는 키보드 이벤트에 대해 다룰 것입니다. 8 - 1 : 키보드 이벤트? 예전에 4번째 강의에서 이벤트에 대해 배우셨죠? 그때 이벤트에 대한 예제로 나왔던 것이 X버튼을 눌렀을 때 종료하게 만드는 것이었습니다. 그리고 이벤트에 대해 설명했을 때 키보드나 마우스에 대한 것도 언급했었지요. 예를들면, 캐릭터를 상하좌우로 움직이게 해야하는데, 방향키에 그 역할을 맡아주게 하는 것이지요. 어려분도 아시겠지만 방향키를 누른다고해서 화면에 띄어진 캐릭터가 움직이는 건 아니죠. 방향키를 눌렀을 때 캐릭터를 움직이게 정의를 해줘야 움직이겠지요. 그럴 때 키보드의 눌림 등을 감지해내는데, 이런 것을 키보드 이벤트라 할 수 있습니다. 이렇게 말로하는 것보단 역시 예제를 통해.. 더보기
[SDL Tutorial] Lesson 7 - 글꼴 안녕하세요! 2010년의 첫 강의 포스팅이네요. 이번엔 글꼴을 SDL에서 출력하는 방법에 대해 써볼 것입니다. 그다지 어렵지 않은 내용이라 쉽게 따라하실 수 있을 겁니다. 7 - 1 : True Type Fonts 흔히 확장자가 *.ttf 로 되어있는 걸 얘기하지요. 윈도우를 사용하시면 맑은 고딕이나 굴림체를, 우분투 유저라면 은 폰트가 생각날 듯 하네요. 우리가 이번에 폰트를 SDL에서 사용하기 위해 쓸 라이브러리가 SDL_ttf 입니다. 예전 강의(Lesson 3)에서 SDL_image와 함께 설치를 했었죠? 제가 이전 포스팅에서 "SDL_ttf는 한글 출력이 안된다." 고 했었는데, 출력하는 함수를 다르게 하면 잘 되더군요. 하지만 윈도우와 리눅스간에 출력하는 방법이 다르므로, 예제에서 언급하도록 .. 더보기
[SDL Tutorial] Lesson 6 - 스프라이트(Sprite) 안녕하신가요? 오늘은 SDL에서 스프라이트를 사용하는 방법에 대해 강의할 것입니다. 조금만 더 배우시면 게임을 만들 수 있겠군요. 아마도 말이지요 ^^ 강의에 앞서, 기존에 포스팅된 강의를 보고싶으시면 카테고리에서 Programming/SDL 을 방문해주시기 바랍니다. 6 - 1 : Sprite! 스프라이트란 뭘까요? 이런 이미지가 있습니다. 보통 이런 이미지를 스프라이트라고 하지요. 연관된 여러 이미지를 하나의 이미지에 담아서 쓰는 게 대부분이지요. 물론 사용자의 마음대로 해도 되겠지만, 공통된점은 여러 이미지를 하나에 모아놓은 것이지요. 편하게 쓰려면 형식을 맞춰야겠지요. 저 위의 이미지처럼 말이죠. 가령, 이런 이미지가 있으면 처음과 끝 이미지가 다르다고 위치를 바꿔버리면 곤란하겠지요. 물론 저런 .. 더보기