- 🧛♂️iecne个人主页:点赞关注收藏评论支持哦~
- 💡每天关注iecne的作品,一起进步
- ✨一起学习内容专栏:C++保姆级入门教程 C++每日一题 C++游戏设计教程
- 👉本文收录专栏:C++游戏引擎教程与实战
- 🐳希望大家多多支持🥰一起进步呀!
哈喽大家好,我是iecne,本期为大家带来的是CPP/C++游戏引擎Easy2D教程 —— 调整窗口 ,包教包会,快来看看吧!
引擎支持 Visual Studio 2013 及以上版本,如果你使用的是较低版本的 VS,那么你需要考虑一下更新你的编译器了
上一期的作品——Easy2D引擎制作的游戏片段上了热榜,于是有粉丝私信要求出一期Easy2D的教程

目录
对于编程而言,初学者最需要的不是技能,而是成就感。
如果你喜欢用 C/C++ 编写自己的小游戏,那么 Easy2D 将是个不错的选择,它大大简化了游戏制作过程,可以帮助你快速开发 Windows 上的 2D 小游戏。
它的特点和它的名字一样,Everything is Easy!
使用简易安装器
在 下载 页面下载安装包,打开后跟随提示安装即可。
安装程序会检测您已经安装的 Visual Studio 版本,并根据您的选择将对应库文件解压至 VS 库目录下。
Easy2D 不支持 VS2012 及以下的版本(包括 VC6.0),如果你使用的是低版本的 VS,那你需要尝试一下新版的 Visual Studio 了。
安装环境:
操作系统:Windows 7 及以上操作系统。
编译环境:Visual Studio 2013 (x86 & x64) 及以上版本。
Tips
如果需要手动安装,可以下载
.7z格式的压缩包,解压后将相关文件分别拷贝到 VS 对应的 include 和 lib 文件夹内,或者你的工程路径下即可。
使用源码编译
Clone or download,克隆本仓库或者下载 zip 源码C/C++ ==> 附加包含目录 设置为 Easy2D 项目的 /Easy2D/include/ 目录链接器 ==> 附加库目录 设置为 Easy2D 项目的 /Easy2D/output/ 目录使用 VS 新建一个空的 C++ 控制台程序,在源文件开头引入easy2d.h头文件,即可开始使用。
复制下面的代码以创建一个Hello World程序。(可以不用看,新手100%看不懂)
- #include
-
- using namespace easy2d;
-
- int main()
- {
- if (Game::init()) // 初始化游戏
- {
- auto scene = gcnew Scene; // 创建一个场景
- SceneManager::enter(scene); // 进入该场景
-
- auto text = gcnew Text(L"Hello Easy2D!"); // 创建一个文本
- text->setAnchor(0.5, 0.5); // 设置文本中心点
- text->setPos(Window::getSize() / 2); // 文本位置居中
- scene->addChild(text); // 将这个文本添加到场景中
-
- Game::start(); // 开始游戏
- }
- Game::destroy();
- return 0;
- }
相信你已经配置好了 Easy2D 的环境,让我们新建一个空的控制台程序,从这里起步。
- #include
-
- using namespace easy2d;
-
- int main()
- {
- return 0;
- }
入门使用技巧:
1. 使用解决方案资源管理器窗口添加/管理文件
2. 使用团队资源管理器窗口连接到源代码管理
3. 使用输出窗口查看生成输出和其他消息
4. 使用错误列表窗口查看错误
5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件
首先我们看下Easy2D的头文件
#include
俩easy2(小写),中间/,最后.h
很好记吧?
#include
作者还是习惯把iostream和std加上
如下:
- #include
- #include
-
- using namespace easy2d;
- using namespace std;
-
- int main()
- {
- return 0;
- }
首先使用 Game 类来构建游戏的大体框架。Game 类用来控制游戏主流程,它可以完成开始游戏、暂停游戏、退出游戏等一系列操作。
Game::init() 函数对游戏进行初始化,它必须在 main 函数的第一行调用,且只能调用一次。如果在初始化前进行了其他操作,有可能出现未知的错误。当初始化失败时,init() 会返回 false。
- int main()
- {
- // 初始化
- if (Game::init())
- {
- // 初始化成功
- }
- return 0;
- }
Game::start() 函数用来开始游戏,这个函数是阻塞的,执行该函数将进入到游戏主循环中,只有当窗口关闭或退出游戏时,这个函数才返回。
Game::destroy() 函数用来销毁游戏过程产生的各类资源,它应该在程序的最后调用。
有了这三个函数,我们就可以构建一个没有任何画面的窗口程序了。一个 Easy2D 程序应由 初始化、设计游戏内容、开始游戏、销毁资源 四个部分组成,下面的代码运行后将显示一个无画面的黑窗口。
- #include
- #include
-
- using namespace easy2d;
- using namespace std;
-
- int main()
- {
- /* 初始化 */
- if (Game::init())
- {
- /* 设计游戏内容 */
-
- /* 开始游戏 */
- Game::start();
- }
- /* 销毁资源 */
- Game::destroy();
- return 0;
- }
Window 类用来控制窗口的属性,例如,你可以使用 Window::setTitle 函数修改窗口标题,并使用 Window::setSize 函数设置窗口的大小。
- // 修改窗口标题
- Window::setTitle(L"Demo");
- // 修改窗口大小
- Window::setSize(300, 300);
Tips
C++ 中的字符串有很多种类型,因为 Easy2D 使用 Unicode 字符集,所以必须在字符串前加一个前缀 ‘L’ 来标志这个字符串是 Unicode 编码的。
大家不用将设置里的改成Unicode字符集,因为在前面加上L就行了
Window::getWidth 和 Window::getHeight 函数可以获取窗口的宽度和高度,这两个函数可以帮助你对齐图片位置
- // 获取窗口的宽度和高度
- float width = Window::getWidth();
- float height = Window::getHeight();
-
- // 将窗口的宽高输出在控制台上
- printf(L"%.1f %.1f\n", width, height);
这样说我们不明白,直接上代码:
- #include
- #include
-
- using namespace std;
- using namespace easy2d;
-
- int main()
- {
- if (Game::init())
- {
- // 修改窗口标题
- Window::setTitle(L"iecne");
- // 修改窗口大小
- Window::setSize(300, 300);
- Game::start();
- }
- Game::destroy();
- return 0;
- }
效果如下:

看小的框框
本节课主要是讲解了Easy2D引擎实现的教程,至此该课示例的思想博主已经真真切切彻彻底底分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下
包教包会,帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主
文章存在借鉴,如有侵权请联系修改删除!