<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://old.wiki.ubuntu-kr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=117.132.192.143</id>
	<title>Ubuntu Korea Community Wiki - 사용자 기여 [ko]</title>
	<link rel="self" type="application/atom+xml" href="https://old.wiki.ubuntu-kr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=117.132.192.143"/>
	<link rel="alternate" type="text/html" href="https://old.wiki.ubuntu-kr.org/index.php?title=%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/117.132.192.143"/>
	<updated>2026-10-17T03:18:05Z</updated>
	<subtitle>사용자 기여</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://old.wiki.ubuntu-kr.org/index.php?title=SDL_Programming&amp;diff=4344</id>
		<title>SDL Programming</title>
		<link rel="alternate" type="text/html" href="https://old.wiki.ubuntu-kr.org/index.php?title=SDL_Programming&amp;diff=4344"/>
		<updated>2019-07-08T11:36:35Z</updated>

		<summary type="html">&lt;p&gt;117.132.192.143: /* SDL 초기화 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 소개 =&lt;br /&gt;
== 목적 ==&lt;br /&gt;
* 이 문서는 무료 컴파일러 IDE 및 그래픽 라이브러리를 사용하여 2D 게임을 작성하는 방법에 대해 설명합니다.&lt;br /&gt;
* 이 문서에서 다루는 특정 그래픽 도구는 Simple Directmedia Layer Graphics Library의 약어 인 SDL입니다.&lt;br /&gt;
* SDL에 대해 알아야 할 중요한 점은 이것이 크로스 플랫폼이라는 것입니다.&lt;br /&gt;
* SDL을 사용하여 작성된 프로그램은 코드를 거의 변경하지 않고 Windows, Mac 및 많은 UNIX 변형과 같은 다양한 운영 체제 플랫폼에서 실행되도록 다시 컴파일 할 수 있습니다.&lt;br /&gt;
* SDL 라이브러리는 2D 유형의 게임을 쉽게 만들 수있는 기능을 제공합니다.&lt;br /&gt;
* 2D 게임은 정적 필드 (예 : Pong, Donkey Kong) 또는 스크롤 (예 : Mario Bros.)에서 이루어지는 게임입니다.&lt;br /&gt;
* 그래픽은 처음 설계되었을 때 사용 된 게임 시스템과 컴퓨터의 초기 제한 때문에 간단합니다.&lt;br /&gt;
* 액션과 게임 플레이는 오늘날 만들어진 모든 현대 3D 게임만큼 재미있을 수 있습니다.&lt;br /&gt;
* 2D 게임의 재미와 성공에 대한 간증은 Xbox Live Arcade 및 Wii Virtual Console에 대한 그들의 부활과 인기입니다.&lt;br /&gt;
* SDL 라이브러리 및 SDL과 함께 작동하도록 설계된 모든 추가 지원 라이브러리가 활용됩니다.&lt;br /&gt;
* 우리는 간단한 게임 인 Pong, Breakout, Minesweeper, Tetris를 만들 것입니다.&lt;br /&gt;
* 또한, 끝으로 우리는 좀 더 진보 된 게임 기술을 보여주기 위해 플랫폼 스크롤링 게임을 제작합니다.&lt;br /&gt;
&lt;br /&gt;
== 전제조건 ==&lt;br /&gt;
* 이 노트를 이해하고 시간과 노력에 투자할만한 가치가 있으려면 C++을 어느정도 알아야 됩니다.&lt;br /&gt;
* 당신이 스스로 C ++을 배우고 있다면 많은 유용한 웹 사이트가 있습니다.&lt;br /&gt;
* http://www.steveheller.com/cppad/Output/dialogTOC.html&lt;br /&gt;
&lt;br /&gt;
== 왜 SDL인가 ==&lt;br /&gt;
* Id Software가 Commander Keen 게임을 실행하는 게임 엔진의 공개 버전으로 Klone Keen이라는게 있습니다.&lt;br /&gt;
* 게임 커맨더 킨 (Keen Commander)은 1990 년대 초반 일련의 게임에서 셰어웨어 4로 출시되었습니다.&lt;br /&gt;
* 이 게임은 닌텐도 엔터테인먼트 시스템 슈퍼 마리오 브라더스 게임의 사이드 스크롤링 동작을 복제 할 수 있다는 점에서 주목할 만했습니다.&lt;br /&gt;
* 클론 킨 (Klone Keen)을 운영하려면 원본 데이터 파일이 필요합니다.&lt;br /&gt;
* 이 게임은 사운드, 비디오 및 키보드 프로세싱을위한 SDL 중 하나 인 몇 가지 무료 라이브러리를 사용했습니다.&lt;br /&gt;
* SDL은 일반적으로 두 번째 C ++ 과정에서 학생들에게 제공하는 일반적인 프로그래밍 과제보다 더 재미있는 프로그램을 만들 수 있도록 학생들이 배우기에 완벽한 라이브러리였습니다.&lt;br /&gt;
&lt;br /&gt;
== 역사 ==&lt;br /&gt;
* SDL은 Sam Lantinga에 의해 만들어졌으며 1998 년에 일반인에게 공개되었습니다.&lt;br /&gt;
* 그는 많은 게임 프로젝트에 참여했으며 2009 년부터 블리자드 엔터테인먼트와 함께했습니다.&lt;br /&gt;
* http://www.devolution.com에서 온라인으로 이력서를 확인할 수 있습니다.&lt;br /&gt;
* 전 세계에서 가장 좋아하는 게임 인 World of Warcraft에 큰 기여를 한 것을보고 감명 받았습니다.&lt;br /&gt;
* Lantinga는 Windows에서 Mac으로 응용 프로그램을 이식하려는 노력을 지원하기 위해 SDL을 만들도록 영감을 받았습니다.&lt;br /&gt;
* 라이브러리는 응용 프로그램 생성 및 포팅을 용이하게하기 위해 만들어졌습니다.&lt;br /&gt;
* 최소한의 코드 변경으로 다른 플랫폼에 게임을 추가 할 수 있습니다.&lt;br /&gt;
* 오늘날 많은 응용 프로그램은 SDL의 다양한 구성 요소를 사용하여 키보드 처리 또는 조이스틱 지원과 같은 기능을 수행하고 OpenGL6 또는 다른 라이브러리로이를 보완합니다.&lt;br /&gt;
* SDL은 C로 작성되었지만 C++, Perl, C, Python 등과 함께 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== SDL 컴포넌트 ==&lt;br /&gt;
* SDL은 다음과 같은 서브시스템으로 구성되어 있습니다.&lt;br /&gt;
* Video - 이 서브 시스템은 화면에 보이는 것을 처리합니다.&lt;br /&gt;
* 게임의 시각적 구성 요소를 구성하는 창, 색상 및 스프라이트입니다.&lt;br /&gt;
* 이 구성 요소는 단순한 그래픽 작업을 지원하기위한 것으로 사용자는 선, 원 등을 그릴 수있는 추가 기능을 만들 수있을 정도로 정교하다고 가정합니다.&lt;br /&gt;
* Event Handling - 이 하위 시스템은 사용자가 게임과 상호 작용하는 방식을 처리합니다.&lt;br /&gt;
* 사용자 창을 최소화하거나 마우스를 움직이거나 키를 누를 때마다 이벤트를 생성합니다.&lt;br /&gt;
* 다른 라이브러리로 3D 게임을 제작하려는 경우에도 SDL의 이 구성 요소를 사용하면 유용합니다.&lt;br /&gt;
* Joystick Handling - 이 서브 시스템은 오늘날의 조이스틱과 관련된 다양한 복잡성을 다룹니다.&lt;br /&gt;
* 각 조이스틱에는 다른 수의 버튼, 다이얼, 스위치, 조이스틱 및 휠이 있습니다.&lt;br /&gt;
* 이 구성 요소는 조이스틱을 관리하는 일련의 기능을 제공합니다.&lt;br /&gt;
* File I/O - 이 하위 시스템은 bmp파일. SDL은 일반적으로 게임과 같은 멀티미디어 응용 프로그램을 작성할 때 씁니다.&lt;br /&gt;
* 프로그래머가 cout이나 cerr를 고려할 경우 멋진 기능이 있습니다.&lt;br /&gt;
* 메시지는 자동으로 데이터 파일 (stdout.txt 및 stderr.txt)에 저장됩니다.&lt;br /&gt;
* 이것은 바로 사용할 수있는 훌륭한 로깅 시스템입니다.&lt;br /&gt;
* Audio - 이 하위 시스템은 게임에 추가 할 수있는 사운드를 지원합니다.&lt;br /&gt;
* CDROM - 이 깔끔한 하위 시스템은 사용자 CD ROM 장치에 대한 액세스 및 통신을 지원합니다.&lt;br /&gt;
* Timer - 이 서브 시스템은 이벤트 또는 프로세스의 순서가 주기적으로 발생하는시기를 설정하고 제어하는 ​​기능을 제공합니다.&lt;br /&gt;
* 그것은 당신이 특정 시간에 당신을 깨우기 위해 매일 설정하는 자명종과 비슷합니다.&lt;br /&gt;
* Threading - SDL은 두 개 이상의 실행 스레드를 설정하고 제어하는 ​​기능을 제공합니다.&lt;br /&gt;
* 독립적으로 실행되는 대규모 프로세스 내에 존재하는 하위 프로세스입니다.&lt;br /&gt;
* 이 기능은 한 번에 두 가지 이상의 작업을 수행 할 수있는 기능을 프로그래머에게 제공합니다.&lt;br /&gt;
* 스레드를 사용하면 통신을 관리하고 자원에 액세스해야하므로 프로그램에 복잡성이 추가됩니다.&lt;br /&gt;
* 여기까지 기본 라이브러리고 추가 라이브러리로 다음과 같은게 있습니다.&lt;br /&gt;
* SDL_image - 이 라이브러리는 PNG, GIF, JPEG 및 기타 여러 가지와 같은 bmp 이외의 이미지 형식을 지원합니다.&lt;br /&gt;
* SDL_mixer - 이 라이브러리는 더 많은 형식 세트에서 음악 및 사운드 샘플을 재생할 수 있도록 지원합니다.&lt;br /&gt;
* WAV, MOD, MP3 등 - 인기있는 MikMod MOD, Timidity MIDI, Ogg Vorbis 및 SMPEG MP3 라이브러리로 믹스 된 16 비트 스테레오 오디오와 동시에 단일 채널의 음악을 동시에 재생할 수 있습니다.&lt;br /&gt;
* SDL_net - 이 라이브러리는 &amp;quot;크로스 플랫폼 네트워킹&amp;quot;기능 세트를 제공합니다.&lt;br /&gt;
* 채팅 클라이언트 및 서버 응용 프로그램이 포함되어 있습니다.&lt;br /&gt;
* SDL_ttf -이 라이브러리는 트루 타입 글꼴을 사용할 수 있는 기능을 제공합니다.&lt;br /&gt;
* 우리는 이것을 게임 스크린에 텍스트를 표시하기 위해 사용할 것입니다.&lt;br /&gt;
* 이 라이브러리는 운영 체제 기능에 대한 계층 또는 랩퍼를 제공합니다.&lt;br /&gt;
* 라이브러리는 Macintosh와 Windows와 같은 플랫폼 간의 복잡성과 차이점을 숨기는 일련의 공통 기능을 제공합니다.&lt;br /&gt;
* Microsoft Windows의 경우 SDL은 기본적으로 GDI 백엔드를 사용합니다.&lt;br /&gt;
* GDI는 Graphics Device Interface (그래픽 장치 인터페이스)의 약자로, Windows의 경우 프린터의 컴퓨터 모니터에 표시되거나 표시 될 그래픽 개체 표현에 대한 프로그래밍 지원을 제공하는 API입니다.&lt;br /&gt;
* GDI는 Windows 플랫폼에서 게임을 개발하는 가장 빠르고 빠른 방법으로 알려져 있지 않습니다.&lt;br /&gt;
* 다른 두 가지 인기있는 옵션은 DirectX와 OpenGL입니다. 현재 버전의 SDL은 DirectX7을 사용하도록 설계되었습니다.&lt;br /&gt;
* 최신 DirectX를 직접 배우는 것보다 Windows에서 SDL에 대해 논의 할 이유가 궁금 할 것입니다.&lt;br /&gt;
* 학생들은 수업이나 가정에서 Windows를 사용할 수 있지만 Linux와 같은 다른 운영 체제 플랫폼을 선호하는 학생도 모든 프로그래밍 예제를 사용할 수 있습니다.&lt;br /&gt;
* Windows 운영 체제에 모든 소프트웨어를 설치한다고 가정하는 자세한 설치 지침 이외의 Windows 관련 항목은 없습니다.&lt;br /&gt;
* 학생들은 아직 WinMain을 배울 필요가 없습니다. SDL Windows 응용 프로그램의 진입 점은 여전히 main()입니다.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int main (int argc, char * argv [])&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* main() 형식이 WinMain()보다 아무래도 플랫폼에서 자유롭기 때문입니다.&lt;br /&gt;
* 이 문서는 다음 C++ 개념을 알고 있다고 가정하고 쓰여집니다.&lt;br /&gt;
** 데이터 타입&lt;br /&gt;
** 입출력&lt;br /&gt;
** 사칙연산&lt;br /&gt;
** 제어문(if, else, switch, while, for)&lt;br /&gt;
** 함수&lt;br /&gt;
* 다음 개념을 알고 있다면 이해하기가 좀더 수월합니다.&lt;br /&gt;
** Enumeration Types(열거형)&lt;br /&gt;
** typedef&lt;br /&gt;
** Pointers(포인터)&lt;br /&gt;
** Arrays(배열)&lt;br /&gt;
** Records(Struct 구조체)&lt;br /&gt;
** Classes(클래스)&lt;br /&gt;
&lt;br /&gt;
* SDL이나 다른 라이브러리 사용 방법도 알아야 하지만, 아무래도 게임을 만드는게 메인입니다.&lt;br /&gt;
* 프로그래밍 과정 이외에도 게임을 만들기 위한 팁들을 알려드릴것입니다.&lt;br /&gt;
* 헤더파일을 만들고 사용하는 방법이라던지, 직접 변경하고 확장하기 위한 프로그램 설계 방법이라던지, 조이스틱이나 마우스 사용 방법 등을 설명할 것입니다.&lt;br /&gt;
* 초보 프로그래머에게 좋은 소식은 SDL이 오픈소스라는 것입니다. 실제 작동 원리는 소스를 까보면 알 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
= SDL 설치 =&lt;br /&gt;
== SDL 라이브러리 패키지 받아오기 ==&lt;br /&gt;
* 라이브러리 받아오기&lt;br /&gt;
* SDL - http://www.libsdl.org/download-1.2.php&lt;br /&gt;
* SDL_image - http://www.libsdl.org/projects/SDL_image&lt;br /&gt;
* SDL_mixer - http://www.libsdl.org/projects/SDL_mixer&lt;br /&gt;
* SDL_net - http://www.libsdl.org/projects/SDL_net&lt;br /&gt;
* SDL_ttf - http://www.libsdl.org/projects/SDL_ttf&lt;br /&gt;
* Ubuntu / Debian&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code::Blocks 설치 ==&lt;br /&gt;
* 다운로드 : http://www.codeblocks.org&lt;br /&gt;
* Ubuntu / Debian&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install codeblocks&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code::Blocks SDL 마법사 ==&lt;br /&gt;
== SDL 커스텀 템플릿 만들기 ==&lt;br /&gt;
== WxDev-C++ 설치 ==&lt;br /&gt;
* 다운로드 - http://wxdsgn.sourceforge.net&lt;br /&gt;
* Ubuntu / Debian&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libwxbase3.0-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WxDev-C++ SDL 템플릿 파일 만들기 ==&lt;br /&gt;
=== SDL_Image 설치 및 테스트 ===&lt;br /&gt;
=== SDL_tff 설치 및 테스트 ===&lt;br /&gt;
=== SDL_mixer 설치 및 테스트 ===&lt;br /&gt;
=== SDL_net 설치 및 테스트 ===&lt;br /&gt;
== 요약 ==&lt;br /&gt;
= SDL 시작하기 =&lt;br /&gt;
== SDL 초기화 ==&lt;br /&gt;
&lt;br /&gt;
== SDL Subsystems 초기화, 닫기 ==&lt;br /&gt;
== 비디오 컴포넌트 ==&lt;br /&gt;
== SDL 비디오 스트럭쳐 ==&lt;br /&gt;
== 비디오 프로그램 만들어보기 ==&lt;br /&gt;
== 스크린 디스플레이 ==&lt;br /&gt;
== 디스플레이 방법 이해하기 ==&lt;br /&gt;
== 선긋기 ==&lt;br /&gt;
=== 선긋기에 대한 역사 ===&lt;br /&gt;
=== Slope-Intercept 알고리듬 ===&lt;br /&gt;
=== 균형 알고리듬 ===&lt;br /&gt;
== SDL_Rect ==&lt;br /&gt;
== 자르기 ==&lt;br /&gt;
== SDL_VideoInfo ==&lt;br /&gt;
== 이미지 로드 ==&lt;br /&gt;
== 공굴리기 ==&lt;br /&gt;
== 더블 버퍼링과 페이지 플리핑 ==&lt;br /&gt;
=== 더블 버퍼링 ===&lt;br /&gt;
=== 페이지 플리핑 ===&lt;br /&gt;
== 다른 타입 이미지 로드 ==&lt;br /&gt;
== 알파 블렌딩 ==&lt;br /&gt;
== Other Topics ==&lt;br /&gt;
== 요약 ==&lt;br /&gt;
== 질답 ==&lt;br /&gt;
== 연습문제 ==&lt;br /&gt;
=== 원그리기 알고리듬 ===&lt;br /&gt;
= 스프라이트, 심플뷰 =&lt;br /&gt;
= 프로세스 이벤트 =&lt;br /&gt;
== 키보드 이벤트 ==&lt;br /&gt;
== 조이스틱 이벤트 ==&lt;br /&gt;
== 시스템 이벤트 ==&lt;br /&gt;
== 마우스 이벤트&lt;br /&gt;
= 게임 구성 =&lt;br /&gt;
== 게임 템플릿 ==&lt;br /&gt;
== 간단한 게임 ==&lt;br /&gt;
= 퐁 =&lt;br /&gt;
== SDL_TTF 사용해보기 ==&lt;br /&gt;
== SDL Audio ==&lt;br /&gt;
=== 간단한 오디오 ===&lt;br /&gt;
=== 준비된 SDL 함수 ===&lt;br /&gt;
== SDL Joystick ==&lt;br /&gt;
= MindSweeper 만들어보기 =&lt;br /&gt;
= Breakout 만들어보기 =&lt;br /&gt;
= SDL Thread와 Timer =&lt;br /&gt;
= 멀티플레이어 온라인 게임 =&lt;br /&gt;
== SDL_NET ==&lt;br /&gt;
== SDL_MIXER ==&lt;br /&gt;
= 플랫폼 게임 =&lt;br /&gt;
== Crisis Mountain ==&lt;br /&gt;
== Mario ==&lt;br /&gt;
= 게임 빌드를 위한 다른 라이브러리들 =&lt;/div&gt;</summary>
		<author><name>117.132.192.143</name></author>
	</entry>
	<entry>
		<id>https://old.wiki.ubuntu-kr.org/index.php?title=SDL_Programming&amp;diff=4343</id>
		<title>SDL Programming</title>
		<link rel="alternate" type="text/html" href="https://old.wiki.ubuntu-kr.org/index.php?title=SDL_Programming&amp;diff=4343"/>
		<updated>2019-07-08T11:35:47Z</updated>

		<summary type="html">&lt;p&gt;117.132.192.143: /* SDL 초기화 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 소개 =&lt;br /&gt;
== 목적 ==&lt;br /&gt;
* 이 문서는 무료 컴파일러 IDE 및 그래픽 라이브러리를 사용하여 2D 게임을 작성하는 방법에 대해 설명합니다.&lt;br /&gt;
* 이 문서에서 다루는 특정 그래픽 도구는 Simple Directmedia Layer Graphics Library의 약어 인 SDL입니다.&lt;br /&gt;
* SDL에 대해 알아야 할 중요한 점은 이것이 크로스 플랫폼이라는 것입니다.&lt;br /&gt;
* SDL을 사용하여 작성된 프로그램은 코드를 거의 변경하지 않고 Windows, Mac 및 많은 UNIX 변형과 같은 다양한 운영 체제 플랫폼에서 실행되도록 다시 컴파일 할 수 있습니다.&lt;br /&gt;
* SDL 라이브러리는 2D 유형의 게임을 쉽게 만들 수있는 기능을 제공합니다.&lt;br /&gt;
* 2D 게임은 정적 필드 (예 : Pong, Donkey Kong) 또는 스크롤 (예 : Mario Bros.)에서 이루어지는 게임입니다.&lt;br /&gt;
* 그래픽은 처음 설계되었을 때 사용 된 게임 시스템과 컴퓨터의 초기 제한 때문에 간단합니다.&lt;br /&gt;
* 액션과 게임 플레이는 오늘날 만들어진 모든 현대 3D 게임만큼 재미있을 수 있습니다.&lt;br /&gt;
* 2D 게임의 재미와 성공에 대한 간증은 Xbox Live Arcade 및 Wii Virtual Console에 대한 그들의 부활과 인기입니다.&lt;br /&gt;
* SDL 라이브러리 및 SDL과 함께 작동하도록 설계된 모든 추가 지원 라이브러리가 활용됩니다.&lt;br /&gt;
* 우리는 간단한 게임 인 Pong, Breakout, Minesweeper, Tetris를 만들 것입니다.&lt;br /&gt;
* 또한, 끝으로 우리는 좀 더 진보 된 게임 기술을 보여주기 위해 플랫폼 스크롤링 게임을 제작합니다.&lt;br /&gt;
&lt;br /&gt;
== 전제조건 ==&lt;br /&gt;
* 이 노트를 이해하고 시간과 노력에 투자할만한 가치가 있으려면 C++을 어느정도 알아야 됩니다.&lt;br /&gt;
* 당신이 스스로 C ++을 배우고 있다면 많은 유용한 웹 사이트가 있습니다.&lt;br /&gt;
* http://www.steveheller.com/cppad/Output/dialogTOC.html&lt;br /&gt;
&lt;br /&gt;
== 왜 SDL인가 ==&lt;br /&gt;
* Id Software가 Commander Keen 게임을 실행하는 게임 엔진의 공개 버전으로 Klone Keen이라는게 있습니다.&lt;br /&gt;
* 게임 커맨더 킨 (Keen Commander)은 1990 년대 초반 일련의 게임에서 셰어웨어 4로 출시되었습니다.&lt;br /&gt;
* 이 게임은 닌텐도 엔터테인먼트 시스템 슈퍼 마리오 브라더스 게임의 사이드 스크롤링 동작을 복제 할 수 있다는 점에서 주목할 만했습니다.&lt;br /&gt;
* 클론 킨 (Klone Keen)을 운영하려면 원본 데이터 파일이 필요합니다.&lt;br /&gt;
* 이 게임은 사운드, 비디오 및 키보드 프로세싱을위한 SDL 중 하나 인 몇 가지 무료 라이브러리를 사용했습니다.&lt;br /&gt;
* SDL은 일반적으로 두 번째 C ++ 과정에서 학생들에게 제공하는 일반적인 프로그래밍 과제보다 더 재미있는 프로그램을 만들 수 있도록 학생들이 배우기에 완벽한 라이브러리였습니다.&lt;br /&gt;
&lt;br /&gt;
== 역사 ==&lt;br /&gt;
* SDL은 Sam Lantinga에 의해 만들어졌으며 1998 년에 일반인에게 공개되었습니다.&lt;br /&gt;
* 그는 많은 게임 프로젝트에 참여했으며 2009 년부터 블리자드 엔터테인먼트와 함께했습니다.&lt;br /&gt;
* http://www.devolution.com에서 온라인으로 이력서를 확인할 수 있습니다.&lt;br /&gt;
* 전 세계에서 가장 좋아하는 게임 인 World of Warcraft에 큰 기여를 한 것을보고 감명 받았습니다.&lt;br /&gt;
* Lantinga는 Windows에서 Mac으로 응용 프로그램을 이식하려는 노력을 지원하기 위해 SDL을 만들도록 영감을 받았습니다.&lt;br /&gt;
* 라이브러리는 응용 프로그램 생성 및 포팅을 용이하게하기 위해 만들어졌습니다.&lt;br /&gt;
* 최소한의 코드 변경으로 다른 플랫폼에 게임을 추가 할 수 있습니다.&lt;br /&gt;
* 오늘날 많은 응용 프로그램은 SDL의 다양한 구성 요소를 사용하여 키보드 처리 또는 조이스틱 지원과 같은 기능을 수행하고 OpenGL6 또는 다른 라이브러리로이를 보완합니다.&lt;br /&gt;
* SDL은 C로 작성되었지만 C++, Perl, C, Python 등과 함께 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== SDL 컴포넌트 ==&lt;br /&gt;
* SDL은 다음과 같은 서브시스템으로 구성되어 있습니다.&lt;br /&gt;
* Video - 이 서브 시스템은 화면에 보이는 것을 처리합니다.&lt;br /&gt;
* 게임의 시각적 구성 요소를 구성하는 창, 색상 및 스프라이트입니다.&lt;br /&gt;
* 이 구성 요소는 단순한 그래픽 작업을 지원하기위한 것으로 사용자는 선, 원 등을 그릴 수있는 추가 기능을 만들 수있을 정도로 정교하다고 가정합니다.&lt;br /&gt;
* Event Handling - 이 하위 시스템은 사용자가 게임과 상호 작용하는 방식을 처리합니다.&lt;br /&gt;
* 사용자 창을 최소화하거나 마우스를 움직이거나 키를 누를 때마다 이벤트를 생성합니다.&lt;br /&gt;
* 다른 라이브러리로 3D 게임을 제작하려는 경우에도 SDL의 이 구성 요소를 사용하면 유용합니다.&lt;br /&gt;
* Joystick Handling - 이 서브 시스템은 오늘날의 조이스틱과 관련된 다양한 복잡성을 다룹니다.&lt;br /&gt;
* 각 조이스틱에는 다른 수의 버튼, 다이얼, 스위치, 조이스틱 및 휠이 있습니다.&lt;br /&gt;
* 이 구성 요소는 조이스틱을 관리하는 일련의 기능을 제공합니다.&lt;br /&gt;
* File I/O - 이 하위 시스템은 bmp파일. SDL은 일반적으로 게임과 같은 멀티미디어 응용 프로그램을 작성할 때 씁니다.&lt;br /&gt;
* 프로그래머가 cout이나 cerr를 고려할 경우 멋진 기능이 있습니다.&lt;br /&gt;
* 메시지는 자동으로 데이터 파일 (stdout.txt 및 stderr.txt)에 저장됩니다.&lt;br /&gt;
* 이것은 바로 사용할 수있는 훌륭한 로깅 시스템입니다.&lt;br /&gt;
* Audio - 이 하위 시스템은 게임에 추가 할 수있는 사운드를 지원합니다.&lt;br /&gt;
* CDROM - 이 깔끔한 하위 시스템은 사용자 CD ROM 장치에 대한 액세스 및 통신을 지원합니다.&lt;br /&gt;
* Timer - 이 서브 시스템은 이벤트 또는 프로세스의 순서가 주기적으로 발생하는시기를 설정하고 제어하는 ​​기능을 제공합니다.&lt;br /&gt;
* 그것은 당신이 특정 시간에 당신을 깨우기 위해 매일 설정하는 자명종과 비슷합니다.&lt;br /&gt;
* Threading - SDL은 두 개 이상의 실행 스레드를 설정하고 제어하는 ​​기능을 제공합니다.&lt;br /&gt;
* 독립적으로 실행되는 대규모 프로세스 내에 존재하는 하위 프로세스입니다.&lt;br /&gt;
* 이 기능은 한 번에 두 가지 이상의 작업을 수행 할 수있는 기능을 프로그래머에게 제공합니다.&lt;br /&gt;
* 스레드를 사용하면 통신을 관리하고 자원에 액세스해야하므로 프로그램에 복잡성이 추가됩니다.&lt;br /&gt;
* 여기까지 기본 라이브러리고 추가 라이브러리로 다음과 같은게 있습니다.&lt;br /&gt;
* SDL_image - 이 라이브러리는 PNG, GIF, JPEG 및 기타 여러 가지와 같은 bmp 이외의 이미지 형식을 지원합니다.&lt;br /&gt;
* SDL_mixer - 이 라이브러리는 더 많은 형식 세트에서 음악 및 사운드 샘플을 재생할 수 있도록 지원합니다.&lt;br /&gt;
* WAV, MOD, MP3 등 - 인기있는 MikMod MOD, Timidity MIDI, Ogg Vorbis 및 SMPEG MP3 라이브러리로 믹스 된 16 비트 스테레오 오디오와 동시에 단일 채널의 음악을 동시에 재생할 수 있습니다.&lt;br /&gt;
* SDL_net - 이 라이브러리는 &amp;quot;크로스 플랫폼 네트워킹&amp;quot;기능 세트를 제공합니다.&lt;br /&gt;
* 채팅 클라이언트 및 서버 응용 프로그램이 포함되어 있습니다.&lt;br /&gt;
* SDL_ttf -이 라이브러리는 트루 타입 글꼴을 사용할 수 있는 기능을 제공합니다.&lt;br /&gt;
* 우리는 이것을 게임 스크린에 텍스트를 표시하기 위해 사용할 것입니다.&lt;br /&gt;
* 이 라이브러리는 운영 체제 기능에 대한 계층 또는 랩퍼를 제공합니다.&lt;br /&gt;
* 라이브러리는 Macintosh와 Windows와 같은 플랫폼 간의 복잡성과 차이점을 숨기는 일련의 공통 기능을 제공합니다.&lt;br /&gt;
* Microsoft Windows의 경우 SDL은 기본적으로 GDI 백엔드를 사용합니다.&lt;br /&gt;
* GDI는 Graphics Device Interface (그래픽 장치 인터페이스)의 약자로, Windows의 경우 프린터의 컴퓨터 모니터에 표시되거나 표시 될 그래픽 개체 표현에 대한 프로그래밍 지원을 제공하는 API입니다.&lt;br /&gt;
* GDI는 Windows 플랫폼에서 게임을 개발하는 가장 빠르고 빠른 방법으로 알려져 있지 않습니다.&lt;br /&gt;
* 다른 두 가지 인기있는 옵션은 DirectX와 OpenGL입니다. 현재 버전의 SDL은 DirectX7을 사용하도록 설계되었습니다.&lt;br /&gt;
* 최신 DirectX를 직접 배우는 것보다 Windows에서 SDL에 대해 논의 할 이유가 궁금 할 것입니다.&lt;br /&gt;
* 학생들은 수업이나 가정에서 Windows를 사용할 수 있지만 Linux와 같은 다른 운영 체제 플랫폼을 선호하는 학생도 모든 프로그래밍 예제를 사용할 수 있습니다.&lt;br /&gt;
* Windows 운영 체제에 모든 소프트웨어를 설치한다고 가정하는 자세한 설치 지침 이외의 Windows 관련 항목은 없습니다.&lt;br /&gt;
* 학생들은 아직 WinMain을 배울 필요가 없습니다. SDL Windows 응용 프로그램의 진입 점은 여전히 main()입니다.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int main (int argc, char * argv [])&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* main() 형식이 WinMain()보다 아무래도 플랫폼에서 자유롭기 때문입니다.&lt;br /&gt;
* 이 문서는 다음 C++ 개념을 알고 있다고 가정하고 쓰여집니다.&lt;br /&gt;
** 데이터 타입&lt;br /&gt;
** 입출력&lt;br /&gt;
** 사칙연산&lt;br /&gt;
** 제어문(if, else, switch, while, for)&lt;br /&gt;
** 함수&lt;br /&gt;
* 다음 개념을 알고 있다면 이해하기가 좀더 수월합니다.&lt;br /&gt;
** Enumeration Types(열거형)&lt;br /&gt;
** typedef&lt;br /&gt;
** Pointers(포인터)&lt;br /&gt;
** Arrays(배열)&lt;br /&gt;
** Records(Struct 구조체)&lt;br /&gt;
** Classes(클래스)&lt;br /&gt;
&lt;br /&gt;
* SDL이나 다른 라이브러리 사용 방법도 알아야 하지만, 아무래도 게임을 만드는게 메인입니다.&lt;br /&gt;
* 프로그래밍 과정 이외에도 게임을 만들기 위한 팁들을 알려드릴것입니다.&lt;br /&gt;
* 헤더파일을 만들고 사용하는 방법이라던지, 직접 변경하고 확장하기 위한 프로그램 설계 방법이라던지, 조이스틱이나 마우스 사용 방법 등을 설명할 것입니다.&lt;br /&gt;
* 초보 프로그래머에게 좋은 소식은 SDL이 오픈소스라는 것입니다. 실제 작동 원리는 소스를 까보면 알 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
= SDL 설치 =&lt;br /&gt;
== SDL 라이브러리 패키지 받아오기 ==&lt;br /&gt;
* 라이브러리 받아오기&lt;br /&gt;
* SDL - http://www.libsdl.org/download-1.2.php&lt;br /&gt;
* SDL_image - http://www.libsdl.org/projects/SDL_image&lt;br /&gt;
* SDL_mixer - http://www.libsdl.org/projects/SDL_mixer&lt;br /&gt;
* SDL_net - http://www.libsdl.org/projects/SDL_net&lt;br /&gt;
* SDL_ttf - http://www.libsdl.org/projects/SDL_ttf&lt;br /&gt;
* Ubuntu / Debian&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code::Blocks 설치 ==&lt;br /&gt;
* 다운로드 : http://www.codeblocks.org&lt;br /&gt;
* Ubuntu / Debian&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install codeblocks&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code::Blocks SDL 마법사 ==&lt;br /&gt;
== SDL 커스텀 템플릿 만들기 ==&lt;br /&gt;
== WxDev-C++ 설치 ==&lt;br /&gt;
* 다운로드 - http://wxdsgn.sourceforge.net&lt;br /&gt;
* Ubuntu / Debian&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libwxbase3.0-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WxDev-C++ SDL 템플릿 파일 만들기 ==&lt;br /&gt;
=== SDL_Image 설치 및 테스트 ===&lt;br /&gt;
=== SDL_tff 설치 및 테스트 ===&lt;br /&gt;
=== SDL_mixer 설치 및 테스트 ===&lt;br /&gt;
=== SDL_net 설치 및 테스트 ===&lt;br /&gt;
== 요약 ==&lt;br /&gt;
= SDL 시작하기 =&lt;br /&gt;
== SDL 초기화 ==&lt;br /&gt;
aaaa&lt;br /&gt;
&lt;br /&gt;
== SDL Subsystems 초기화, 닫기 ==&lt;br /&gt;
== 비디오 컴포넌트 ==&lt;br /&gt;
== SDL 비디오 스트럭쳐 ==&lt;br /&gt;
== 비디오 프로그램 만들어보기 ==&lt;br /&gt;
== 스크린 디스플레이 ==&lt;br /&gt;
== 디스플레이 방법 이해하기 ==&lt;br /&gt;
== 선긋기 ==&lt;br /&gt;
=== 선긋기에 대한 역사 ===&lt;br /&gt;
=== Slope-Intercept 알고리듬 ===&lt;br /&gt;
=== 균형 알고리듬 ===&lt;br /&gt;
== SDL_Rect ==&lt;br /&gt;
== 자르기 ==&lt;br /&gt;
== SDL_VideoInfo ==&lt;br /&gt;
== 이미지 로드 ==&lt;br /&gt;
== 공굴리기 ==&lt;br /&gt;
== 더블 버퍼링과 페이지 플리핑 ==&lt;br /&gt;
=== 더블 버퍼링 ===&lt;br /&gt;
=== 페이지 플리핑 ===&lt;br /&gt;
== 다른 타입 이미지 로드 ==&lt;br /&gt;
== 알파 블렌딩 ==&lt;br /&gt;
== Other Topics ==&lt;br /&gt;
== 요약 ==&lt;br /&gt;
== 질답 ==&lt;br /&gt;
== 연습문제 ==&lt;br /&gt;
=== 원그리기 알고리듬 ===&lt;br /&gt;
= 스프라이트, 심플뷰 =&lt;br /&gt;
= 프로세스 이벤트 =&lt;br /&gt;
== 키보드 이벤트 ==&lt;br /&gt;
== 조이스틱 이벤트 ==&lt;br /&gt;
== 시스템 이벤트 ==&lt;br /&gt;
== 마우스 이벤트&lt;br /&gt;
= 게임 구성 =&lt;br /&gt;
== 게임 템플릿 ==&lt;br /&gt;
== 간단한 게임 ==&lt;br /&gt;
= 퐁 =&lt;br /&gt;
== SDL_TTF 사용해보기 ==&lt;br /&gt;
== SDL Audio ==&lt;br /&gt;
=== 간단한 오디오 ===&lt;br /&gt;
=== 준비된 SDL 함수 ===&lt;br /&gt;
== SDL Joystick ==&lt;br /&gt;
= MindSweeper 만들어보기 =&lt;br /&gt;
= Breakout 만들어보기 =&lt;br /&gt;
= SDL Thread와 Timer =&lt;br /&gt;
= 멀티플레이어 온라인 게임 =&lt;br /&gt;
== SDL_NET ==&lt;br /&gt;
== SDL_MIXER ==&lt;br /&gt;
= 플랫폼 게임 =&lt;br /&gt;
== Crisis Mountain ==&lt;br /&gt;
== Mario ==&lt;br /&gt;
= 게임 빌드를 위한 다른 라이브러리들 =&lt;/div&gt;</summary>
		<author><name>117.132.192.143</name></author>
	</entry>
</feed>