何时使用智能指针

这里是我对何时使用智能指针的思考🤔。

何时使用智能指针

智能指针一共有三个unique_ptr,shared_ptrweak_ptr。其中weak_ptr是为了弥补shared_ptr所造成的循环指向而诞生的,使用的场景很明确,所以不予讨论。

将SDL程序变为网页(使用emscripten)

本文介绍了如何使用emscripten来将SDL程序编译成网页。

准备工作

什么是emscripten?

emscripten是一个用于WebAssembly的一套编译工具,基于LLVM。
WebAssembly(wasm),即网页汇编,说白了,就是用在Web上的汇编语言。WebAssembly的优点是速度快,他可以将C/C++代码转换成wasm代码,所以能够提升不少效率。
不过我这里主要是为了将C++代码变成网页啦,不管效率。

Text Warp (for UTF-8)

本文介绍了如何对UTF-8编码的字符串进行Warp。

Text Warp是游戏和GUI开发中不可或缺的一个技术,说白了就是自动换行:给定一个长度,当你渲染的字符串超过这个长度时需要自动从下一行开始渲染。
对ASCII码组成的字符串进行Warp很简单,但是对于UTF-8的编码就会麻烦一点。

Bresenham算法

对于Bresenham算法的解释

Bresenham算法

Bresenham算法是一种绘制直线和曲线的方法。这里主要是介绍如何绘制直线。

XenEngine制作心得

XenEngine

XenEngine是我的本科毕业设计,是一个基于OpenGL的游戏引擎,仓库在这里
这次就来说一说我制作这个引擎的心得

利用Lua做游戏脚本

关于脚本

对于游戏脚本有两种解释,一般的解释是“外挂”,也就是自动刷怪等等的那种挂。一种是让脚本和游戏主体沟通,将逻辑单独拎出来的编程技术。我们这里说的不是外挂,说的是如何使用Lua语言做脚本,并且辅助我们自己的游戏主体的编程手段。

预备知识

这个例子使用C++和SDL2制作游戏的主体,Lua作为游戏的脚本。另外需要知道Lua和C/C++互相通信的方法,见这篇博客