본문 바로가기

SDL

본격! 프로젝트 시동입니다!! 그동안 학기중이라서 이 핑계 저 핑계 대면서 미뤄왔던 일들을 슬슬 해야겠군요.그중에서 가장 큰 일이 바로 게임 공모전 출전입니다. 이 여름 방학 안에 완성해야 9월에 출전할 수 있네요! 2달동안 빡시게 해야겠군요... 그리고 블로그를 방치하다보니 제가 진행하던 여러 가지 일들도 함께 방치되있는 걸 깨달았습니다. 그래서 하나둘씩 다시 시작해서 매듭을 지어볼까 합니다. 일단 군 입대 전에 포스팅 했던 SDL 강의부터 매듭지어야겠네요. 사실 이 강의는 lazyfoo라는 사이트에서 강의하는 걸 번역하면서 제 나름의 스타일로 바꿔서 올려보던 것인데, 이 사이트가 아직 살아있는지는 모르겠지만 살아있다면 더 이어가볼 생각입니다. 두번째는 Cirhythm... 일단 PC버전 소스를 날려버려서 사실상 개발이 중단됐다고 .. 더보기
[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에서의 Dock 구현 지난 월요일에 면접본지 일주일이 되서 그때 생각을 하던 중 떠오른 Dock... 저 나름의 개념(이론)을 설정한 후 코딩을 시작한지 3일째인가요? 완성은 했습니다. 위의 동영상은 그 결과물. 하지만 넷북에서 촬영한지라 프레임이 고자요 ㅠㅠ... 일단 코드를 보시면 아시겠지만, 생각나는대로 표현한 그야말로 "발코딩"인지라 대충 주석달고 고민의 흔적인 예전 코드를 주석으로 했던건 다 지워버렸습니다. 역시 자신의 코드를 공개하는 일은 정말 창피하달까, 부끄러운 일입니다. 아이콘은 10개로 해놨고, 아마 이상태에서 아이콘의 갯수를 늘리거나 줄이시게 되면 참사(?)가 벌어질 수도 있습니다. 아이콘 갯수에 따라 유동적으로 변하게 코딩을 하려했지만 귀찮아서[???] 나중에 할마음이 생기면 해보려고 합니다 ㅋㅋ; 만들.. 더보기
[SDL Tutorial] Lesson 8 - Key Press 안녕하세요. 오늘은 대부분의 게임에서 빼놓을 수 없는 키보드 이벤트에 대해 다룰 것입니다. 8 - 1 : 키보드 이벤트? 예전에 4번째 강의에서 이벤트에 대해 배우셨죠? 그때 이벤트에 대한 예제로 나왔던 것이 X버튼을 눌렀을 때 종료하게 만드는 것이었습니다. 그리고 이벤트에 대해 설명했을 때 키보드나 마우스에 대한 것도 언급했었지요. 예를들면, 캐릭터를 상하좌우로 움직이게 해야하는데, 방향키에 그 역할을 맡아주게 하는 것이지요. 어려분도 아시겠지만 방향키를 누른다고해서 화면에 띄어진 캐릭터가 움직이는 건 아니죠. 방향키를 눌렀을 때 캐릭터를 움직이게 정의를 해줘야 움직이겠지요. 그럴 때 키보드의 눌림 등을 감지해내는데, 이런 것을 키보드 이벤트라 할 수 있습니다. 이렇게 말로하는 것보단 역시 예제를 통해.. 더보기