<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/drizzlemao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; drizzlemao]]></copyright><item><title><![CDATA[SDL2 游戏开发日记(九) 单机麻将]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/104716199</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/104716199</guid><author>drizzlemao</author><pubDate>Sat, 07 Mar 2020 15:59:13 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(九) 单机麻将
单机麻将的基本功能其实年前已经完成了，只是写文档麻烦，再加上懒癌和重度拖延症，就一直拖着没更新。今天周末一个人没什么事干，抽空把它更新了。
麻将的表示
用数组表示，int card[136];值分别是 0-135;
值/4
0-8：表示万，9-17：表示饼，18-26：表示条，27-33：表示东南西北中发白
class MahjongCard : publi...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(八) 按钮、对话框的绘制]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/104680524</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/104680524</guid><author>drizzlemao</author><pubDate>Thu, 05 Mar 2020 18:14:36 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(八) 按钮、对话框的绘制
在游戏中，会弹出各种各样的对话框，用来显示游戏中的一些信息，或者要求玩家进行相应的输入。
对话框的基类
创建一个纹理，把对话框的背景，按钮都绘制在这个纹理上。如果按钮状态没有发生改变，直接在主循环里绘制这个纹理。如果按钮状态改变，重新绘制纹理后再绘制到主循环里。
#pragma once
#include "Renderable.h"
#inclu...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(七) 自定义消息]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/104430125</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/104430125</guid><author>drizzlemao</author><pubDate>Fri, 21 Feb 2020 16:33:54 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(七) 自定义消息
在游戏中，有各种各样的消息，除了鼠标键盘等控制消息之外。游戏物体也会产生各种各样的消息，有些消息是需要立即处理的。有些消息需要过了一段时间后才会被处理。
例如在单机麻将游戏中，玩家出牌的消息要通知其他ai玩家，出了什么牌，其他玩家收到消息后，则需要判断这个牌有需不需要，是否碰/杠/胡等。
玩家出牌后，其他ai玩家不能立即摸牌，需要等待2秒后才能摸牌。
消息...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(六) 纹理缓存]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/103604714</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/103604714</guid><author>drizzlemao</author><pubDate>Wed, 18 Dec 2019 20:55:29 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(六) 纹理缓存
功能：图片名字相同的纹理只加载一次，重复使用。
纹理缓存类采用单例模式。支持从文件或者从SDL_RWops中加载纹理
纹理缓存类
#pragma once

#include &lt;SDL.h&gt;
#include &lt;map&gt;

using namespace std;

struct TextureInfo{
	int width;
	i...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(五) 资源打包]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/103546724</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/103546724</guid><author>drizzlemao</author><pubDate>Sun, 15 Dec 2019 11:10:31 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(五) 资源打包#
游戏中的各种各样的资源，如果不想直接的给别人看到，那就需要对资源进行打包。
打包的时候可以加入加密解密算法对数据进行加密，防止别人直接拿来使用。
打包可以使文件夹看起来更简洁。
SDL提供了SDL_RWops来让我们直接从内存或者二进制流中加载各种游戏素材。
资源打包解包类
#pragma once 
#include &lt;string&gt;
#in...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(四)]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/103500316</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/103500316</guid><author>drizzlemao</author><pubDate>Wed, 11 Dec 2019 21:52:03 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(四)
加入音乐和音效
使用SDL_Mixer库,支持的音频格式有wav,mp3,ogg,flac,midi等。
使用单例模式对SDL_Mixer作个简单的封装。实现加载，播放
声音播放类
#pragma once
#include &lt;map&gt;
#include &lt;SDL_mixer.h&gt;
#include &lt;string&gt;

using ...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(三) 俄罗斯方块]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/103449222</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/103449222</guid><author>drizzlemao</author><pubDate>Sun, 08 Dec 2019 21:10:43 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(三)
俄罗斯方块
方块的表示
用二维数组表示方块。
#pragma once
#include &lt;cstdlib&gt;
#include &lt;ctime&gt;
#include &lt;cassert&gt;

using namespace std;

#define theTetrisArray TetrisArray::Instance()

struc...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日志（二）]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/103419909</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/103419909</guid><author>drizzlemao</author><pubDate>Fri, 06 Dec 2019 11:49:22 +0800</pubDate><description><![CDATA[游戏开发日志（二）
构建框架：场景，渲染。
渲染类
负责加载图片和渲染，它将可以添加到指定的【场景】中，当【场景】被【场景管理类】调用时，它将每一帧都被调用和更新。
#pragma once
#include &lt;SDL.h&gt;
#include &lt;string&gt;
using namespace std;

class Renderable{
protected:
	bool ...]]></description><category></category></item><item><title><![CDATA[SDL2 游戏开发日记(一)]]></title><link>https://blog.youkuaiyun.com/drizzlemao/article/details/103334924</link><guid>https://blog.youkuaiyun.com/drizzlemao/article/details/103334924</guid><author>drizzlemao</author><pubDate>Sun, 01 Dec 2019 14:51:48 +0800</pubDate><description><![CDATA[SDL2 游戏开发日记(一)
SDL的基础教程请戳这里
创建游戏窗口
开发工具：VS2013
新建项目 --&gt; Win32 控制台应用程序
窗口类：
使用单例模式
窗口标题如果要显示中文，要把字符串转成UTF8编码
#pragma once
#include &lt;SDL.h&gt;
#include &lt;SDL_ttf.h&gt;
#include &lt;SDL_image.h&g...]]></description><category></category></item></channel></rss>