【C++游戏引擎Easy2D】基于基础类型学习使用核心Game+Window

🧛‍♂️iecne个人主页:iecne的学习日志
💡每天关注iecne的作品,一起进步
💪学C++必看iecne
本文专栏【C++游戏引擎】.
🐳希望大家多多支持🥰一起进步呀!
iecne


往后看免费提供安装包

✨前言

哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【游戏引擎Easy2D】一篇打通引擎顶级类型,Listener。包教包会,快来看看吧!
引擎支持 Visual Studio 2013 及以上版本,如果你使用的是较低版本的 VS,那么你需要考虑一下更新你的编译器了

任务描述

如何根据据【游戏引擎Easy2D】核心功能Game+Window+Input,学完秒变大神
本实践旨在通过多个代码的案列,让大家理解和掌握如何使用Easy2D引擎来将这四个基础类型详细的解释并且会运用
iecne


文章目录

Easy2D导读

对于编程而言,初学者最需要的不是技能,而是成就感。
如果你喜欢用 C/C++ 编写自己的小游戏,那么 Easy2D 将是个不错的选择,它大大简化了游戏制作过程,可以帮助你快速开发 Windows 上的 2D 小游戏。
它的特点和它的名字一样,Everything is Easy!


安装 Easy2D

使用简易安装器
运行里面的 install.bat 文件进行安装。
点击此链接进行下载(纯免费,给官方搞成了VIP)
点击下载
安装程序会检测您已经安装的 Visual Studio 版本,并根据您的选择将对应库文件解压至 VS 库目录下。
Easy2D 不支持 VS2012 及以下的版本(包括 VC6.0),如果你使用的是低版本的 VS,那你需要尝试一下新版的 Visual Studio 了。

安装环境:
操作系统:Windows 7 及以上操作系统。
编译环境:Visual Studio 2013 (x86 & x64) 及以上版本。


一、Game 游戏类

1.Game的基本结构

Game 类控制整个游戏的进度和流程,管理所有资源的初始化和释放。
当然,它最主要的功能是初始化游戏、启动游戏和销毁游戏资源:
这个在第一章节就ok过了,标准的开头

// 初始化游戏
if (Game::init())
{
    // 启动游戏
    Game::start();
}
// 游戏结束,销毁资源
Game::destroy();

但是实际上在我们写代码的时候,会在init(中间直接调整整个的窗口,看下面)


2.控制大小

Game::init 函数默认会创建一个 640x480 大小的窗口,初始化时也可以设置窗口的标题和大小:

// 创建标题为 Hello,大小为 1000x800 的窗口
if (Game::init(L"Hello", 1000, 800))
{
    // 初始化成功
}

init(L"文本",X,Y);

具体结构如上


3.控制游戏

点赞关注支持!!!

一).暂停继续

Game 类还可以控制游戏的暂停和继续,游戏暂停后所有的定时器、动画、更新函数都会暂停,只有按钮正常运行,所以你可以在按钮的回调函数中控制游戏暂停。

// 暂停游戏
Game::pause();
// 继续游戏
Game::resume();
// 判断游戏是否正在暂停
bool isPaused = Game::isPaused();

这一部分对待需要制作关卡类需要暂停的朋友十分友好,不需要耗尽心思搞这些了


二).退出

在代码的任何地方调用 quit 函数可以直接让游戏退出:

// 退出游戏
Game::quit();

就是和exit()差不多,一个是面向程序,一个是面向单个游戏


三).时间

Game 类还有一些不建议手动调用的函数,例如 reset 可以重置游戏内部计时:

Game::reset();


二.Window 窗口类

Window 类封装了有关窗口操作的一些函数,例如修改窗口大小等等。

1.常用函数

Window 类的常用函数如下:

// 修改窗口大小为 1000x800
Window::setSize(1000, 800);
// 修改窗口标题为 Hello
Window::setTitle(L"Hello");
// 设置鼠标样式为“手指针”
Window::setCursor(Window::Cursor::Hand);
// 获取窗口宽度
float width = Window::getWidth();
// 获取窗口高度
float height = Window::getHeight();
// 获取窗口大小
Size size = Window::getSize();
// 获取窗口标题
String title = Window::getTitle();

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

77853)]
[外链图片转存中…(img-ak1jWBZx-1714430177853)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值