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

目录
三.文本节点加入场景实例(代码实例)
五.综合实例 (代码实例)
Scene(场景) 代表游戏中的一个界面,你的游戏可以有类似主菜单、游戏界面、结束界面等多个场景。
你可以直接使用 new 关键字创建场景:
- // 创建一个空场景
- auto scene = new Scene;
- // 记得删除场景
- delete scene;
SceneManager(场景管理器) 是控制场景间切换的类,使用 SceneManager::enter() 函数进入你创建的场景中,使用 SceneManager::back() 可以退出当前场景。
- // 进入 scene 场景
- SceneManager::enter(scene);
- // 退出当前场景
- SceneManager::back();
每一个可视化程序都要有一个场景 ,持续关注iecne,带你们学会告别黑框框

场景中所有的元素都被称为Node(节点),比如场景中的一个按钮,或者一张图片,它们都是节点的一种。
Easy2D 提供了许多游戏中常用的节点,比如Text(文本) Sprite(精灵) Button(按钮)等等,你可以像创建场景一样,直接用 new 关键字创建它们
- // 创建一个文本节点
- auto text = new Text(L"Hello Easy2D");
格式如下:
auto 名字 = new (gcnew) Text(L"要输入的文本");
将创建好的节点加入到场景中,它将显示在画面上
- // 将文本添加到场景中
- scene->addChild(text);
上面的内容都属于 设计游戏内容,所以上面这个 Demo 的完整代码如下所示
- #include
- #include
-
- using namespace easy2d;
- using namespace std;
-
- int main()
- {
- if (Game::init())
- {
- /* 设计游戏内容 */
- // 创建一个空场景
- auto scene = new Scene;
- // 进入 scene 场景
- SceneManager::enter(scene);
-
- // 创建一个文本节点
- auto text = new Text(L"Hello Easy2D");
- // 将文本添加到场景中
- scene->addChild(text);
-
- Game::start();
-
- // 释放内存
- delete scene;
- delete text;
- }
- Game::destroy();
- return 0;
- }
效果如下:

其实这一块都是一样的:
- #include
- #include
-
- using namespace easy2d;
- using namespace std;
-
- int main()
- {
- if (Game::init())
- {
- /* 设计游戏内容 */
- // 创建一个空场景
- auto scene = new Scene;
- // 进入 scene 场景
- SceneManager::enter(scene);
-
- // 创建一个文本节点
-
- Game::start();
-
- // 释放内存
- delete scene;
- delete text;
- }
- Game::destroy();
- return 0;
- }
只不过是在原基础上增加了这两行
- auto text = new Text(L"Hello Easy2D");
- // 将文本添加到场景中
- scene->addChild(text);
当然text这个变量是可以改变的,但是后面的Text是不能改变的
Easy2D 支持垃圾内存的自动回收,要使用这个功能,你需要使用 gcnew 代替 new 来创建对象。
- // 创建一个自动回收的场景
- auto scene = gcnew Scene;
- // 创建一个自动回收的文本
- auto text = gcnew Text(L"Hello Easy2D");
使用 new 运算符创建的对象也可以手动调用 autorelease 函数,使其可以自动被回收。
- // 使用 new 创建对象
- auto scene = new Scene;
- // 调用 autorelease 函数,使 GC 自动对其进行回收
- scene->autorelease();
- #include
- #include
-
- using namespace easy2d;
- using namespace std;
-
- int main()
- {
- if (Game::init())
- {
- /* 设计游戏内容 */
- // 创建一个空场景
- auto scene = new Scene;
- // 进入 scene 场景
- SceneManager::enter(scene);
-
- // 创建一个文本节点
- auto text = gcnew Text(L"点赞,关注,收藏,评论,支持一下iecne吧!!!");
- // 将文本添加到场景中
- scene->addChild(text);
-
- Game::start();
-
- // 释放内存
- //delete scene;
- //delete text;
- }
- Game::destroy();
- return 0;
- }
效果如下:

而这里任然一样:
- #include
- #include
-
- using namespace easy2d;
- using namespace std;
-
- int main()
- {
- if (Game::init())
- {
- /* 设计游戏内容 */
- // 创建一个空场景
- auto scene = new Scene;
- // 进入 scene 场景
- SceneManager::enter(scene);
-
- // 创建一个文本节点
- auto text = gcnew Text(L"");
- // 将文本添加到场景中
- scene->addChild(text);
-
- Game::start();
-
- // 释放内存
- //delete scene;
- //delete text;
- }
- Game::destroy();
- return 0;
- }
只是在括号里加上了
点赞,关注,收藏,评论,支持一下iecne吧!!!
所以快点赞,关注,收藏,评论,支持一下iecne吧!!!
本节课主要是讲解了Easy2D引擎实现的教程,至此该课示例的思想博主已经真真切切彻彻底底分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下
包教包会。
帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
原创不易,还希望各位大佬支持一下
点赞,你的认可是我创作的动力!
收藏,你的青睐是我努力的方向!
评论,你的意见是我进步的财富!
感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主
文章存在借鉴,如有侵权请联系修改删除!