+ [2.其他用法](#2_143)
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();
2.其他用法
Window 类除了可以设置窗口大小、标题外,还可以设置窗口图标,需要先将 ico 格式图标加入到 VS 资源中,然后调用下面的代码:
// 设置窗口图标为资源 IDR\_ICON1 所在的图标
Window::setIcon(IDR_ICON1);
Window 类还封装了弹窗提示的函数,类似于 MessageBox:
// 弹出一个提示窗口
Window::info(L"这是一条提示", L"提示标题");
// 弹出一个警告窗口
Window::warning(L"这是一条警告", L"警告标题");
// 弹出一个错误窗口
Window::error(L"这是一条错误", L"错误标题");
这个类似于EasyX等的MessageBox,与其不同的是一个是让你们选择YESNO等,而这个是专门提示类的
三.Input 输入类
Input 类用来获取用户的鼠标或键盘输入,以实现游戏和用户的简单交互。
例如,判断一个键盘按键是否正在按下:
// 获取字母 A 键是否正被按下
bool isDown = Input::isDown(KeyCode::A);
这个函数同样可以对鼠标按键有效:
// 获取鼠标左键是否正被按下
bool isDown = Input::isDown(MouseCode::Left);
Input 不止可以获取正在按下的状态,还可以判断按键是否刚刚按下、或刚刚抬起:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
转存中…(img-Amn3D9qr-1714822115884)]
[外链图片转存中…(img-iBixlX3O-1714822115885)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新