﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-青岛本地游戏开发</title><link>http://www.cppblog.com/qxtianlong/</link><description>学过一点C++的枪头</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 09:39:36 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 09:39:36 GMT</pubDate><ttl>60</ttl><item><title>Hello World</title><link>http://www.cppblog.com/qxtianlong/archive/2015/09/03/211750.html</link><dc:creator>断杆破枪头</dc:creator><author>断杆破枪头</author><pubDate>Thu, 03 Sep 2015 13:04:00 GMT</pubDate><guid>http://www.cppblog.com/qxtianlong/archive/2015/09/03/211750.html</guid><wfw:comment>http://www.cppblog.com/qxtianlong/comments/211750.html</wfw:comment><comments>http://www.cppblog.com/qxtianlong/archive/2015/09/03/211750.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qxtianlong/comments/commentRss/211750.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qxtianlong/services/trackbacks/211750.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Hello World&nbsp;&nbsp;<a href='http://www.cppblog.com/qxtianlong/archive/2015/09/03/211750.html'>阅读全文</a><img src ="http://www.cppblog.com/qxtianlong/aggbug/211750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qxtianlong/" target="_blank">断杆破枪头</a> 2015-09-03 21:04 <a href="http://www.cppblog.com/qxtianlong/archive/2015/09/03/211750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TextureManager管理</title><link>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209178.html</link><dc:creator>断杆破枪头</dc:creator><author>断杆破枪头</author><pubDate>Sat, 13 Dec 2014 10:56:00 GMT</pubDate><guid>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209178.html</guid><wfw:comment>http://www.cppblog.com/qxtianlong/comments/209178.html</wfw:comment><comments>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qxtianlong/comments/commentRss/209178.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qxtianlong/services/trackbacks/209178.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><img id="Code_Closed_Image_185427" onclick="this.style.display='none'; Code_Closed_Text_185427.style.display='none'; Code_Open_Image_185427.style.display='inline'; Code_Open_Text_185427.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_185427" style="display: none" onclick="this.style.display='none'; Code_Open_Text_185427.style.display='none'; Code_Closed_Image_185427.style.display='inline'; Code_Closed_Text_185427.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span id="Code_Closed_Text_185427" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"></span><span id="Code_Open_Text_185427" style="display: none"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;TextureManager.h<br />
</span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">&nbsp;*<br />
</span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;Created&nbsp;on:&nbsp;2014年12月13日<br />
</span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Author:&nbsp;wgzll<br />
</span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;</span><span style="color: #008000; ">*/</span><br />
<span style="color: #008080; ">&nbsp;7</span>&nbsp;<br />
<span style="color: #008080; ">&nbsp;8</span>&nbsp;#ifndef&nbsp;SRC_TEXTUREMANAGER_H_<br />
<span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;SRC_TEXTUREMANAGER_H_<br />
<span style="color: #008080; ">10</span>&nbsp;<br />
<span style="color: #008080; ">11</span>&nbsp;#include&nbsp;&lt;iostream&gt;<br />
<span style="color: #008080; ">12</span>&nbsp;#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br />
<span style="color: #008080; ">13</span>&nbsp;#include&nbsp;&lt;map&gt;<br />
<span style="color: #008080; ">14</span>&nbsp;#include&nbsp;&lt;sdl2/sdl.h&gt;<br />
<span style="color: #008080; ">15</span>&nbsp;<br />
<span style="color: #008080; ">16</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br />
<span style="color: #008080; ">17</span>&nbsp;<br />
<span style="color: #008080; ">18</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;TextureManager<br />
<span style="color: #008080; ">19</span>&nbsp;{<br />
<span style="color: #008080; ">20</span>&nbsp;<span style="color: #0000FF; ">public</span>:<br />
<span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;TextureManager*&nbsp;Instance()<br />
<span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(s_pInstance&nbsp;==&nbsp;0)<br />
<span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s_pInstance&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;TextureManager();<br />
<span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;s_pInstance;<br />
<span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span style="color: #008080; ">28</span>&nbsp;<br />
<span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;s_pInstance;<br />
<span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span style="color: #008080; ">31</span>&nbsp;<br />
<span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;load(<span style="color: #0000FF; ">string</span>&nbsp;fileName,<span style="color: #0000FF; ">string</span>&nbsp;id,SDL_Renderer*&nbsp;pRenderer);<br />
<span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;draw(<span style="color: #0000FF; ">string</span>&nbsp;id,<span style="color: #0000FF; ">int</span>&nbsp;x,<span style="color: #0000FF; ">int</span>&nbsp;y,<span style="color: #0000FF; ">int</span>&nbsp;width,<span style="color: #0000FF; ">int</span>&nbsp;height,SDL_Renderer*&nbsp;pRenderer,SDL_RendererFlip&nbsp;flip=SDL_FLIP_NONE);<br />
<span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;drawFrame(<span style="color: #0000FF; ">string</span>&nbsp;id,<span style="color: #0000FF; ">int</span>&nbsp;x,<span style="color: #0000FF; ">int</span>&nbsp;y,<span style="color: #0000FF; ">int</span>&nbsp;width,<span style="color: #0000FF; ">int</span>&nbsp;height,<span style="color: #0000FF; ">int</span>&nbsp;currentRow,<span style="color: #0000FF; ">int</span>&nbsp;currentFrame,SDL_Renderer*&nbsp;pRenderer,<span style="color: #0000FF; ">double</span>&nbsp;angle,<span style="color: #0000FF; ">int</span>&nbsp;alpha,SDL_RendererFlip&nbsp;flip=SDL_FLIP_NONE);<br />
<span style="color: #008080; ">35</span>&nbsp;<br />
<span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map&lt;<span style="color: #0000FF; ">string</span>,SDL_Texture*&gt;&nbsp;getTextureMap(){<span style="color: #0000FF; ">return</span>&nbsp;m_textureMap;}<br />
<span style="color: #008080; ">37</span>&nbsp;<br />
<span style="color: #008080; ">38</span>&nbsp;<span style="color: #0000FF; ">public</span>:<br />
<span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TextureManager(){}<br />
<span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~TextureManager(){}<br />
<span style="color: #008080; ">41</span>&nbsp;<span style="color: #0000FF; ">private</span>:<br />
<span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map&lt;<span style="color: #0000FF; ">string</span>,SDL_Texture*&gt;&nbsp;m_textureMap;<br />
<span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;TextureManager*&nbsp;s_pInstance;<br />
<span style="color: #008080; ">44</span>&nbsp;<br />
<span style="color: #008080; ">45</span>&nbsp;};<br />
<span style="color: #008080; ">46</span>&nbsp;<br />
<span style="color: #008080; ">47</span>&nbsp;typedef&nbsp;TextureManager&nbsp;TheTextureManager;<br />
<span style="color: #008080; ">48</span>&nbsp;<br />
<span style="color: #008080; ">49</span>&nbsp;<br />
<span style="color: #008080; ">50</span>&nbsp;<span style="color: #0000FF; ">#endif</span>&nbsp;/*&nbsp;SRC_TEXTUREMANAGER_H_&nbsp;*/<br />
<span style="color: #008080; ">51</span>&nbsp;</span></div>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><img id="Code_Closed_Image_185541" onclick="this.style.display='none'; Code_Closed_Text_185541.style.display='none'; Code_Open_Image_185541.style.display='inline'; Code_Open_Text_185541.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_185541" style="display: none" onclick="this.style.display='none'; Code_Open_Text_185541.style.display='none'; Code_Closed_Image_185541.style.display='inline'; Code_Closed_Text_185541.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span id="Code_Closed_Text_185541" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"></span><span id="Code_Open_Text_185541" style="display: none"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;TextureManager.cpp<br />
</span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">&nbsp;*<br />
</span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;Created&nbsp;on:&nbsp;2014年12月13日<br />
</span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Author:&nbsp;wgzll<br />
</span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;</span><span style="color: #008000; ">*/</span><br />
<span style="color: #008080; ">&nbsp;7</span>&nbsp;<br />
<span style="color: #008080; ">&nbsp;8</span>&nbsp;#include&nbsp;"TextureManager.h"<br />
<span style="color: #008080; ">&nbsp;9</span>&nbsp;#include&nbsp;&lt;sdl2/sdl.h&gt;<br />
<span style="color: #008080; ">10</span>&nbsp;#include&nbsp;&lt;sdl2/sdl_image.h&gt;<br />
<span style="color: #008080; ">11</span>&nbsp;<br />
<span style="color: #008080; ">12</span>&nbsp;TextureManager*&nbsp;TextureManager::s_pInstance&nbsp;=&nbsp;0;<br />
<span style="color: #008080; ">13</span>&nbsp;<br />
<span style="color: #008080; ">14</span>&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;TextureManager::load(<span style="color: #0000FF; ">string</span>&nbsp;fileName,<span style="color: #0000FF; ">string</span>&nbsp;id,SDL_Renderer*&nbsp;pRenderer)<br />
<span style="color: #008080; ">15</span>&nbsp;{<br />
<span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Surface*&nbsp;pTempSurface&nbsp;=&nbsp;IMG_Load(fileName.c_str());<br />
<span style="color: #008080; ">17</span>&nbsp;<br />
<span style="color: #008080; ">18</span>&nbsp;<br />
<span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pTempSurface&nbsp;==&nbsp;0)<br />
<span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;IMG_GetError();<br />
<span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">false</span>;<br />
<span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span style="color: #008080; ">24</span>&nbsp;<br />
<span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Texture*&nbsp;pTexture&nbsp;=&nbsp;SDL_CreateTextureFromSurface(pRenderer,pTempSurface);<br />
<span style="color: #008080; ">26</span>&nbsp;<br />
<span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_FreeSurface(pTempSurface);<br />
<span style="color: #008080; ">28</span>&nbsp;<br />
<span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pTexture&nbsp;!=&nbsp;0)<br />
<span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_textureMap[id]&nbsp;=&nbsp;pTexture;<br />
<span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">true</span>;<br />
<span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">false</span>;<br />
<span style="color: #008080; ">35</span>&nbsp;}<br />
<span style="color: #008080; ">36</span>&nbsp;<br />
<span style="color: #008080; ">37</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;TextureManager::draw(<span style="color: #0000FF; ">string</span>&nbsp;id,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;y,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;width,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;height,&nbsp;SDL_Renderer*&nbsp;pRenderer,&nbsp;SDL_RendererFlip&nbsp;flip)<br />
<span style="color: #008080; ">38</span>&nbsp;{<br />
<span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Rect&nbsp;srcRect;<br />
<span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Rect&nbsp;destRect;<br />
<span style="color: #008080; ">41</span>&nbsp;<br />
<span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.x&nbsp;=&nbsp;0;<br />
<span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.y&nbsp;=&nbsp;0;<br />
<span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.w&nbsp;=&nbsp;destRect.w&nbsp;=&nbsp;width;<br />
<span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.h&nbsp;=&nbsp;destRect.h&nbsp;=&nbsp;height;<br />
<span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destRect.x&nbsp;=&nbsp;x;<br />
<span style="color: #008080; ">47</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destRect.y&nbsp;=&nbsp;y;<br />
<span style="color: #008080; ">48</span>&nbsp;<br />
<span style="color: #008080; ">49</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderCopyEx(pRenderer,&nbsp;m_textureMap[id],&nbsp;&amp;srcRect,&nbsp;&amp;destRect,&nbsp;0,&nbsp;0,&nbsp;flip);<br />
<span style="color: #008080; ">50</span>&nbsp;}<br />
<span style="color: #008080; ">51</span>&nbsp;<br />
<span style="color: #008080; ">52</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;TextureManager::drawFrame(<span style="color: #0000FF; ">string</span>&nbsp;id,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;y,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;width,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;height,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;currentRow,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;currentFrame,&nbsp;SDL_Renderer&nbsp;*pRenderer,&nbsp;<span style="color: #0000FF; ">double</span>&nbsp;angle,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;alpha,&nbsp;SDL_RendererFlip&nbsp;flip)<br />
<span style="color: #008080; ">53</span>&nbsp;{<br />
<span style="color: #008080; ">54</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Rect&nbsp;srcRect;<br />
<span style="color: #008080; ">55</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Rect&nbsp;destRect;<br />
<span style="color: #008080; ">56</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.x&nbsp;=&nbsp;width&nbsp;*&nbsp;currentFrame;<br />
<span style="color: #008080; ">57</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.y&nbsp;=&nbsp;height&nbsp;*&nbsp;currentRow;<br />
<span style="color: #008080; ">58</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.w&nbsp;=&nbsp;destRect.w&nbsp;=&nbsp;width;<br />
<span style="color: #008080; ">59</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcRect.h&nbsp;=&nbsp;destRect.h&nbsp;=&nbsp;height;<br />
<span style="color: #008080; ">60</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destRect.x&nbsp;=&nbsp;x;<br />
<span style="color: #008080; ">61</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destRect.y&nbsp;=&nbsp;y;<br />
<span style="color: #008080; ">62</span>&nbsp;<br />
<span style="color: #008080; ">63</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_SetTextureAlphaMod(m_textureMap[id],&nbsp;alpha);<br />
<span style="color: #008080; ">64</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderCopyEx(pRenderer,&nbsp;m_textureMap[id],&nbsp;&amp;srcRect,&nbsp;&amp;destRect,&nbsp;angle,&nbsp;0,&nbsp;flip);<br />
<span style="color: #008080; ">65</span>&nbsp;}<br />
<span style="color: #008080; ">66</span>&nbsp;</span></div>
<img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示7.jpg" border="0" alt="" width="656" height="518" /><img src ="http://www.cppblog.com/qxtianlong/aggbug/209178.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qxtianlong/" target="_blank">断杆破枪头</a> 2014-12-13 18:56 <a href="http://www.cppblog.com/qxtianlong/archive/2014/12/13/209178.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SDL2精灵动画</title><link>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209177.html</link><dc:creator>断杆破枪头</dc:creator><author>断杆破枪头</author><pubDate>Sat, 13 Dec 2014 08:11:00 GMT</pubDate><guid>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209177.html</guid><wfw:comment>http://www.cppblog.com/qxtianlong/comments/209177.html</wfw:comment><comments>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qxtianlong/comments/commentRss/209177.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qxtianlong/services/trackbacks/209177.html</trackback:ping><description><![CDATA[关于SDL2的贴图上篇已经介绍过了。哪怎么让他动起来呢。我们可以使用SDL_Image也可以使用SDL_LoadBMP来载入图片.<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->&nbsp; &nbsp; SDL_Surface*&nbsp;pTempSurface&nbsp;=&nbsp;SDL_LoadBMP("image/animate.bmp");<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">SDL_Surface*&nbsp;pTempSurface&nbsp;=&nbsp;IMG_Load("image/animate.png");<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">SDL_Surface*&nbsp;pTempSurface&nbsp;=&nbsp;IMG_Load("image/animate-alpha.png");</span><span style="color: #008000; "><br />
</span><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_SetRenderDrawColor(m_pRenderer,255,0,0,255);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pTexture&nbsp;=&nbsp;SDL_CreateTextureFromSurface(m_pRenderer,pTempSurface);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_FreeSurface(pTempSurface);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_QueryTexture(m_pTexture,NULL,NULL,&amp;m_sourceRectangle.w,&amp;m_sourceRectangle.h);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.w=128;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.h=82;<br />
<br />
<br />
<span style="color: #0000FF; ">void</span>&nbsp;Game::update()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.x&nbsp;=&nbsp;128&nbsp;*&nbsp;<span style="color: #0000FF; ">int</span>(((SDL_GetTicks()/100)%6));<br />
}</div>
截图如下:<br /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/animate.png" border="0" alt="" width="768" height="82" /><br /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示6.jpg" border="0" alt="" width="656" height="518" /><br />如何做到图片翻转的呢<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;Game::render()<br /><span style="color: #008080; ">2</span>&nbsp;{<br /><span style="color: #008080; ">3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderClear(m_pRenderer);<br /><span style="color: #008080; ">4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">SDL_RenderCopy(m_pRenderer,m_pTexture,&amp;m_sourceRectangle,&amp;m_destinationRectangle);<br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">SDL_RenderCopy(m_pRenderer,m_pTexture,NULL,NULL);</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderCopyEx(m_pRenderer,m_pTexture,&amp;m_sourceRectangle,&amp;m_destinationRectangle,0,NULL,SDL_FLIP_HORIZONTAL);//此句起的作用<br /><span style="color: #008080; ">7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderPresent(m_pRenderer);<br /><span style="color: #008080; ">8</span>&nbsp;}</div><img src ="http://www.cppblog.com/qxtianlong/aggbug/209177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qxtianlong/" target="_blank">断杆破枪头</a> 2014-12-13 16:11 <a href="http://www.cppblog.com/qxtianlong/archive/2014/12/13/209177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SDL2贴图初探1</title><link>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209174.html</link><dc:creator>断杆破枪头</dc:creator><author>断杆破枪头</author><pubDate>Sat, 13 Dec 2014 04:35:00 GMT</pubDate><guid>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209174.html</guid><wfw:comment>http://www.cppblog.com/qxtianlong/comments/209174.html</wfw:comment><comments>http://www.cppblog.com/qxtianlong/archive/2014/12/13/209174.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qxtianlong/comments/commentRss/209174.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qxtianlong/services/trackbacks/209174.html</trackback:ping><description><![CDATA[SDL2改动比较大，随便玩玩高手勿喷。此代码是官方wiki给出的。<br />
地址:http://wiki.libsdl.org/SDL_CreateRenderer
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->#include&nbsp;"SDL.h"<br />
<br />
<span style="color: #0000FF; ">int</span>&nbsp;main(<span style="color: #0000FF; ">int</span>&nbsp;argc,&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;*argv[])&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_Window&nbsp;*win&nbsp;=&nbsp;NULL;<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_Renderer&nbsp;*renderer&nbsp;=&nbsp;NULL;<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_Texture&nbsp;*bitmapTex&nbsp;=&nbsp;NULL;<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_Surface&nbsp;*bitmapSurface&nbsp;=&nbsp;NULL;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;posX&nbsp;=&nbsp;100,&nbsp;posY&nbsp;=&nbsp;100,&nbsp;width&nbsp;=&nbsp;320,&nbsp;height&nbsp;=&nbsp;240;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_Init(SDL_INIT_VIDEO);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;win&nbsp;=&nbsp;SDL_CreateWindow("Hello&nbsp;World",&nbsp;posX,&nbsp;posY,&nbsp;width,&nbsp;height,&nbsp;0);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;renderer&nbsp;=&nbsp;SDL_CreateRenderer(win,&nbsp;-1,&nbsp;SDL_RENDERER_ACCELERATED);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;bitmapSurface&nbsp;=&nbsp;SDL_LoadBMP("img/hello.bmp");<br />
&nbsp;&nbsp;&nbsp;&nbsp;bitmapTex&nbsp;=&nbsp;SDL_CreateTextureFromSurface(renderer,&nbsp;bitmapSurface);<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_FreeSurface(bitmapSurface);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(1)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Event&nbsp;e;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(SDL_PollEvent(&amp;e))&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(e.type&nbsp;==&nbsp;SDL_QUIT)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderClear(renderer);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderCopy(renderer,&nbsp;bitmapTex,&nbsp;NULL,&nbsp;NULL);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderPresent(renderer);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_DestroyTexture(bitmapTex);<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_DestroyRenderer(renderer);<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_DestroyWindow(win);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;SDL_Quit();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />
}</div>
下面看看SDL Game Development给出的代码，我摘录了一小段<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->&nbsp; &nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(m_pRenderer&nbsp;!=&nbsp;0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"renderer&nbsp;creation&nbsp;success\n";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_SetRenderDrawColor(m_pRenderer,0,0,0,255);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pTexture&nbsp;=&nbsp;SDL_CreateTextureFromSurface(m_pRenderer,pTempSurface);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_FreeSurface(pTempSurface);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_QueryTexture(m_pTexture,NULL,NULL,&amp;m_sourceRectangle.w,&amp;m_sourceRectangle.h);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.w=50;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.h=50;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_destinationRectangle.x=m_sourceRectangle.x=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_destinationRectangle.y=m_sourceRectangle.y=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_destinationRectangle.x=100;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_destinationRectangle.y=100;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.x=50;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sourceRectangle.y=50;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_destinationRectangle.w=m_sourceRectangle.w;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_destinationRectangle.h=m_sourceRectangle.h;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;Game::render()<br />
<span style="color: #008080; ">2</span>&nbsp;{<br />
<span style="color: #008080; ">3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderClear(m_pRenderer);<br />
<span style="color: #008080; ">4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">SDL_RenderCopy(m_pRenderer,m_pTexture,&amp;m_sourceRectangle,&amp;m_destinationRectangle);</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderCopy(m_pRenderer,m_pTexture,NULL,NULL);<br />
<span style="color: #008080; ">6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderPresent(m_pRenderer);<br />
<span style="color: #008080; ">7</span>&nbsp;}</div>
截图如下:<br /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示5.jpg" width="656" height="518" alt="" /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示4.jpg" border="0" alt="" width="656" height="518" /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示3.jpg" border="0" alt="" width="656" height="518" /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示2.jpg" border="0" alt="" width="656" height="518" /><img src="http://www.cppblog.com/images/cppblog_com/qxtianlong/演示1.jpg" border="0" alt="" width="656" height="518" /><img src ="http://www.cppblog.com/qxtianlong/aggbug/209174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qxtianlong/" target="_blank">断杆破枪头</a> 2014-12-13 12:35 <a href="http://www.cppblog.com/qxtianlong/archive/2014/12/13/209174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse+sdl2.0环境配置</title><link>http://www.cppblog.com/qxtianlong/archive/2014/12/10/209149.html</link><dc:creator>断杆破枪头</dc:creator><author>断杆破枪头</author><pubDate>Wed, 10 Dec 2014 12:47:00 GMT</pubDate><guid>http://www.cppblog.com/qxtianlong/archive/2014/12/10/209149.html</guid><wfw:comment>http://www.cppblog.com/qxtianlong/comments/209149.html</wfw:comment><comments>http://www.cppblog.com/qxtianlong/archive/2014/12/10/209149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qxtianlong/comments/commentRss/209149.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qxtianlong/services/trackbacks/209149.html</trackback:ping><description><![CDATA[<span style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">好久没有写代码了，VS太大不想去费时下载，就下载了eclipse-cpp-luna-SR1-win32-x86_64,系统win7 64bit</span><h2><a href="http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr1" target="_blank" title="An IDE for C/C++ developers with Mylyn integration." style="color: #111111; margin: 0px; padding: 0px; text-decoration: none; box-sizing: border-box;">Eclipse IDE for C/C++ Developers</a><small style="margin: 0px; padding: 0px; box-sizing: border-box; font-size: 12px; font-weight: normal; color: #777777;">,&nbsp;</small></h2><span style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">具体下载地址如下:</span><br style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;" /><a href="http://www.eclipse.org/downloads/" target="_blank" style="color: #70ccff; margin: 0px; padding: 0px; text-decoration: none; font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">http://www.eclipse.org/downloads/</a><span style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">下载所需要的版本</span><br style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;" /><span style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">接下来就是MingW</span><br style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;" /><span style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">下载地址</span><br style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;" /><a href="http://www.mingw.org/" target="_blank" style="color: #70ccff; margin: 0px; padding: 0px; text-decoration: none; font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">http://www.mingw.org/</a><br style="font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;" /><span style="margin: 0px; padding: 0px; font-family: punctuation, 微软雅黑, Tohoma; line-height: 22px; background-color: #24639d;">语言环境搭建好了。<br />下载sdl,地址<a href="http://www.libsdl.org/" target="_blank" style="color: #70ccff; margin: 0px; padding: 0px; text-decoration: none;">http://www.libsdl.org</a><br /><span style="margin: 0px; padding: 0px;">注意版本<br /><img alt="图片" src="http://r.photo.store.qq.com/psb?/V117SfU30nhsq8/HTIfrHApFH*8KesCCig5c99iJQslS*LjxoDf73WYlKE!/o/dCVpcHVeCQAA&amp;ek=1&amp;kp=1&amp;pt=0&amp;bo=NgOAAlYFKAQFAOs!&amp;t=5&amp;su=1154383265&amp;sce=0-12-12&amp;rf=2-9" data-img-idx="0" data-src="http://r.photo.store.qq.com/psb?/V117SfU30nhsq8/HTIfrHApFH*8KesCCig5c99iJQslS*LjxoDf73WYlKE!/o/dCVpcHVeCQAA&amp;ek=1&amp;kp=1&amp;pt=0&amp;bo=NgOAAlYFKAQFAOs!&amp;su=1154383265&amp;sce=0-12-12&amp;rf=2-9" style="margin: 0px; padding: 0px; border-width: 0px; border-style: none; vertical-align: top; width: 847px; height: 659.1022988505747px;" /><br />&nbsp;OK啦！！！<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;main.cpp<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">&nbsp;*<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;Created&nbsp;on:&nbsp;2014年12月10日<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Author:&nbsp;wgzll<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;#include&nbsp;&lt;iostream&gt;<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;#include&nbsp;&lt;sdl2/sdl.h&gt;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><span style="color: #008080; ">10</span>&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;SDL_Window*&nbsp;g_pWindow&nbsp;=&nbsp;0;<br /><span style="color: #008080; ">12</span>&nbsp;SDL_Renderer*&nbsp;g_pRenderer&nbsp;=&nbsp;0;<br /><span style="color: #008080; ">13</span>&nbsp;<br /><span style="color: #008080; ">14</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main(<span style="color: #0000FF; ">int</span>&nbsp;argc,<span style="color: #0000FF; ">char</span>&nbsp;*args[])<br /><span style="color: #008080; ">15</span>&nbsp;{<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(SDL_Init(SDL_INIT_EVERYTHING)&gt;=0)<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g_pWindow&nbsp;=&nbsp;SDL_CreateWindow("Chapter&nbsp;1:&nbsp;Setting&nbsp;up&nbsp;SDL",<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;640,480,<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_WINDOW_SHOWN);<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(g_pWindow&nbsp;!=0)<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"初始化成功"&lt;&lt;endl;<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g_pRenderer&nbsp;=&nbsp;SDL_CreateRenderer(g_pWindow,-1,0);<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"初始化失败"&lt;&lt;endl;<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;1;<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">33</span>&nbsp;<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_SetRenderDrawColor(g_pRenderer,0,0,0,255);<br /><span style="color: #008080; ">35</span>&nbsp;<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderClear(g_pRenderer);<br /><span style="color: #008080; ">37</span>&nbsp;<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_RenderPresent(g_pRenderer);<br /><span style="color: #008080; ">39</span>&nbsp;<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Delay(500);<br /><span style="color: #008080; ">41</span>&nbsp;<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_Quit();<br /><span style="color: #008080; ">43</span>&nbsp;<br /><span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">45</span>&nbsp;}</div></span></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">#define</span>&nbsp;SDL_INIT_EVERYTHING&nbsp;(&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_INIT_TIMER&nbsp;|&nbsp;SDL_INIT_AUDIO&nbsp;|&nbsp;SDL_INIT_VIDEO&nbsp;|&nbsp;SDL_INIT_EVENTS&nbsp;|&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDL_INIT_JOYSTICK&nbsp;|&nbsp;SDL_INIT_HAPTIC&nbsp;|&nbsp;SDL_INIT_GAMECONTROLLER&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;Uint32&nbsp;subsystem_init;<br />subsystem_init&nbsp;=&nbsp;SDL_WasInit(SDL_INIT_EVERYTHING);<br />&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(subsystem_init&nbsp;&amp;&nbsp;SDL_INIT_VIDEO)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;printf("Video&nbsp;is&nbsp;initialized.\n");}&nbsp;<br /><span style="color: #0000FF; ">else</span>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;printf("Video&nbsp;is&nbsp;not&nbsp;initialized.\n");&nbsp;<br />}<br /><br /><span style="color: #0000FF; ">if</span>&nbsp;(SDL_WasInit(SDL_INIT_VIDEO)&nbsp;!=&nbsp;0)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;printf("Video&nbsp;is&nbsp;initialized.\n");}&nbsp;<br /><span style="color: #0000FF; ">else</span>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;printf("Video&nbsp;is&nbsp;not&nbsp;initialized.\n");}<br /><br />Uint32&nbsp;subsystem_mask&nbsp;=&nbsp;SDL_INIT_VIDEO&nbsp;|&nbsp;SDL_INIT_AUDIO;<br />&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(SDL_WasInit(subsystem_mask)&nbsp;==&nbsp;subsystem_mask)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;printf("Video&nbsp;and&nbsp;Audio&nbsp;initialized.\n");}&nbsp;<br /><span style="color: #0000FF; ">else</span>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;printf("Video&nbsp;and&nbsp;Audio&nbsp;not&nbsp;initialized.\n");}<br /><br />SDL_INIT_TIMER<br />timer&nbsp;subsystem<br />SDL_INIT_AUDIO<br />audio&nbsp;subsystem<br />SDL_INIT_VIDEO<br />video&nbsp;subsystem<br />SDL_INIT_JOYSTICK<br />joystick&nbsp;subsystem<br />SDL_INIT_HAPTIC<br />haptic&nbsp;(force&nbsp;feedback)&nbsp;subsystem<br />SDL_INIT_GAMECONTROLLER<br />controller&nbsp;subsystem<br />SDL_INIT_EVENTS<br />events&nbsp;subsystem<br />SDL_INIT_EVERYTHING<br />all&nbsp;of&nbsp;the&nbsp;above&nbsp;subsystems<br />SDL_INIT_NOPARACHUTE<br />compatibility;&nbsp;<span style="color: #0000FF; ">this</span>&nbsp;flag&nbsp;<span style="color: #0000FF; ">is</span>&nbsp;ignored&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;</div><img src ="http://www.cppblog.com/qxtianlong/aggbug/209149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qxtianlong/" target="_blank">断杆破枪头</a> 2014-12-10 20:47 <a href="http://www.cppblog.com/qxtianlong/archive/2014/12/10/209149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>