c++小游戏源代码(猿创征文|【C++游戏引擎Easy2D】我拿吃零食的时间,学会了在C++上添加可点击按钮)
🧛♂️iecne个人主页::iecne的学习日志 💡每天关注
iecne的作品 ,一起进步
💪学C++必看iecne
本文专栏:【C++游戏引擎】.
🐳希望大家多多支持🥰一起进步呀!
✨前言
哈喽大家好 ,我是iecne ,本期为大家带来的是CPP/C++【游戏引擎Easy2D】想要做游戏但不会按钮鼠标控制?十分钟教会你Button按钮类 。包教包会 ,快来看看吧!
引擎支持 Visual Studio 2013 及以上版本 ,如果你使用的是较低版本的 VS ,那么你需要考虑一下更新你的编译器了任务描述
如何根据据Button制作鼠标控制按钮类
本实践旨在通过多个代码的案列 ,让大家理解和掌握如何使用Easy2D引擎来将Button解释并且会运用
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) 及以上版本 。一.如何使用Button
收藏本文找到更方便
1.1 精灵转化按钮
这类讲述使用方式和注意事项
1.1.1 使用方式
Button 表示一个按钮 ,你可以把一段文字或者一个精灵变成按钮 ,它的使用方式很简单
创建一个精灵 auto btnSprite = gcnew Sprite(L"按钮图片.png");创建点击按钮后的回调函数
auto callback = []() { // 点击按钮 ,进入一个新场景 SceneManager::enter(gcnew Scene); };把精灵变成一个按钮 ,并设置点击按钮后的回调函数
auto button = gcnew Button(btnSprite, callback);把按钮加入场景
scene->addChild(button);1.1.2 注意事项
Warning 把精灵变为按钮后 ,不需要再将精灵加入到场景中 ,否则将产生错误 。Debug 状态下引擎可以检测这种错误 ,在错误产生时中断程序 ,并在控制台中给出提示 。
二.不同的按钮
2.1 四个种类
普通的按钮有四个状态:正常 、鼠标移入 、按下 、禁用 ,你可以设置按钮在四种状态下显示不同的精灵或文本
// 创建一个精灵 ,按钮普通状态显示 auto btnNormal = gcnew Sprite(L"按钮图片.png"); // 创建一个精灵 ,按钮按下状态显示 auto btnSelect = gcnew Sprite(L"按下时图片.png"); // 创建点击按钮后的回调函数 auto callback = []() { // 点击按钮,进入一个新场景 SceneManager::enter(gcnew Scene); }; // 创建按钮 auto button = gcnew Button; button->setNormal(btnNormal); button->setSelected(btnSelect); button->setClickFunc(callback); // 把按钮加入场景 scene->addChild(button);2.2 禁用状态
如果你想让一个按钮停止工作 ,可以把它设为禁用状态
button->setEnable(false);三.实例项目
作者曾做过一个通讯录 ,在这里展现一下按钮部分
//通讯录和+符号 void TXLPLUS() { //设置通讯录字号 auto TXL_text = gcnew Text(L"通讯录"); //放大1.5倍 TXL_text->setScale(1.2); // 创建文字样式 auto style = Text::Style(); //设置颜色为黑色 style.color = Color::Black; Font font = Font(L"黑体", 40, Font::Weight::Bold, true); // 设置字体 TXL_text->setFont(font); // 显示在屏幕上 TXL_text->setAnchor(0.5f, 0.5f); TXL_text->setPos(80, 50); //应用场景 b_changjing->addChild(TXL_text); // 创建开始按钮 auto startBtn = gcnew Button; startBtn->setScale(2.0f, 2.0f); // 设置按钮图片 startBtn->setNormal(gcnew Sprite(L"res/plus002.png")); // 设置按钮被选中时的图片 startBtn->setSelected(gcnew Sprite(L"res/plus001.png")); // 获取鼠标位置 Point mousePos = Input::getMousePos(); //判断 if (mousePos.x >= 530 && mousePos.x <= 521) { if (mousePos.y >= 30 && mousePos.y <= 51) { startBtn->setDisabled(gcnew Sprite(L"res/plus003.png")); } } // 设置按钮位置 startBtn->setPos(530,30); // 添加开始按钮 b_changjing->addChild(startBtn); } //查询通讯录 void CHAXUN() { //以这种形式打印变量 //int s = 1000; //auto test = gcnew Text(FormatString(L"雷数 %d", s)); // 将 Text 添加到场景中 //b_changjing->addChild(test); // 创建开始按钮 auto startBtn = gcnew Button; startBtn->setScale(1.0f, 1.0f); // 设置按钮图片 startBtn->setNormal(gcnew Sprite(L"res/查询001.png")); // 设置按钮被选中时的图片 startBtn->setSelected(gcnew Sprite(L"res/查询002.png")); // 获取鼠标位置 Point mousePos = Input::getMousePos(); //************** // 判断省略 //************** // 设置按钮位置 startBtn->setPos(150, 150); // 添加开始按钮 b_changjing->addChild(startBtn); XUNWENCK(); }关于命名
Easy2D 按照以下规律命名函数:
小驼峰式命名法则,第一个单词小写 ,后面的单词首字母大写 ,如Window::setTitle 所有函数均按照动词+名语形式命名 ,如Logger::showConsole 获取对象的属性值:get+属性名 ,如Node::getWidth 修改对象的属性值:set+属性名 ,如Node::setPos 获取对象的状态(bool值):is+状态名 ,如Node::isVisiable
✨总结
本节课主要是讲解了Easy2D引擎实现的教程 ,至此该课示例的思想博主已经真真切切彻彻底底分享完了 ,相信大家对这个逻辑有了一定的理解 ,大家可以自己动手敲敲代码 ,感受一下 ,包教包会 。若有任何侵权和不妥之处 ,请私信于我,定积极配合处理 ,看到必回!!!
帅的人已然点赞收藏关注 ,而丑的人还在犹豫,被犹豫了 ,快三连吧! 原创不易 ,还希望各位大佬支持一下 点赞 ,你的认可是我创作的动力! 收藏 ,你的青睐是我努力的方向! 评论 ,你的意见是我进步的财富!
感谢每一个观看本篇文章的朋友 ,更多精彩敬请期待~( ̄▽ ̄~)~:
iecne的博客
若有任何侵权和不妥之处 ,请私信于我 ,定积极配合处理 ,看到必回!!!创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!