- ♂️iecne个人主页:点赞关注收藏评论支持哦~
- 每天关注iecne的作品,一起进步
- ✨一起学习内容专栏:C++保姆级入门教程 C++每日一题 C++游戏设计教程
- 本文收录专栏:C++游戏引擎教程与实战
- 希望大家多多支持一起进步呀!
哈喽大家好,我是iecne,本期为大家带来的是CPP/C++游戏引擎Easy2D教程 —— 调整窗口 ,包教包会,快来看看吧!
引擎支持 Visual Studio 2013 及以上版本,如果你使用的是较低版本的 VS,那么你需要考虑一下更新你的编译器了
上一期的作品——Easy2D引擎制作的游戏片段上了热榜,于是有粉丝私信要求出一期Easy2D的教程
目录
前言
一.下载并安装
1.Easy2D 是什么 ?
2.安装 Easy2D
3.开始使用!
二.第一个程序
1.格式
头文件
命名空间
作者习惯
2.Game
3.开始与结束
三.调整窗口
1.调整方法
2.实战例子
四.总结
对于编程而言,初学者最需要的不是技能,而是成就感。
如果你喜欢用 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++保姆级入门教程领域博主
文章存在借鉴,如有侵权请联系修改删除!