位置: IT常识 - 正文

猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你(北京猿创源科技有限公司)

编辑:rootadmin
猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你

推荐整理分享猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你(北京猿创源科技有限公司),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:西安猿创联盟信息科技有限公司,猿创科技,猿类作文,猿创教育,猿创教育,猿创教育,猿创科技,猿创设计科技有限公司,内容如对您有帮助,希望把文章链接给更多的朋友!

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

✨前言

互相学习,或者加入粉丝群,可以添加vx YAN_Pisces_Boom 哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【游戏引擎Easy2D】绘制一个简单的二维图形,例如矩形、圆形等。包教包会,快来看看吧! 引擎支持 Visual Studio 2013 及以上版本,如果你使用的是较低版本的 VS,那么你需要考虑一下更新你的编译器了

任务描述

如何根据据Button制作鼠标控制按钮类 本实践旨在通过多个代码的案列,让大家理解和掌握如何使用Easy2D引擎来绘制一个简单的二维图形,例如矩形、圆形等。

文章目录✨前言任务描述Easy2D导读安装 Easy2D一.Easy2D图形1.1 形状分类1.2 形状的使用方法1.3 填充与轮廓1.3.1 理论1.3.2 实例使用二.对比EasyX图形库三.关于引擎的杂谈关于命名总结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) 及以上版本。

一.Easy2D图形

Shape 是节点的一种,它用于绘制一个简单的二维图形,例如矩形、圆形等。

1.1 形状分类

Easy2D 仅提供了四种简单图形,分别是

RectShape 矩形RoundRectShape 圆角矩形CircleShape 圆形EllipseShape 椭圆形1.2 形状的使用方法

创建四种形状的方式分别为:

// 创建一个宽高为 (10,20) 的矩形auto rect = gcnew RectShape(Size(10, 20));// 创建一个宽高为 (10,20) ,圆角角度为 (40,20) 的圆角矩形auto roundRect = gcnew RoundRectShape(Size(10, 20), 40, 20);// 创建一个半径为 10 的圆形auto circle = gcnew CircleShape(10);// 创建一个半径为 (10,20) 的椭圆形auto ellipse = gcnew EllipseShape(10, 20);

因为形状也是节点的一种,所以具备节点的所有性质,例如移动

// 创建一个宽高为 (10,20) 的矩形auto rect = gcnew RectShape(Size(10, 20));// 移动矩形到 (100, 100) 坐标处rect->setPos(100, 100);

在这里我们的移动是

rect->setPos(100, 100);

(100,100)则是坐标

若我们需要移动到100,200,则代码如下

rect->setPos(100, 200);猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你(北京猿创源科技有限公司)

前提是,你的窗口大小一定要大于100,200,这样才能出现在窗口中

1.3 填充与轮廓

接下来我们详细讲解如何使用填充和轮廓

1.3.1 理论

所有的形状都可以设置样式,样式包括以下三种:

填充轮廓填充+轮廓enum Style{ Solid, /* 填充 */ Round, /* 轮廓 */ Fill, /* 轮廓 + 填充 */};

Tip

轮廓: 解释为构成图形或物体的外缘的线条填充: 解释为图形没有轮廓,中间实心轮廓+填充:结合1、21.3.2 实例使用

例如,设置一个形状仅显示轮廓,不显示填充颜色:

// 设置形状样式为,轮廓shape->setStyle(Shape::Style::Round);

所有的形状都可以设置填充色和轮廓颜色

创建一个宽高为 (10,20) 的矩形

auto rect = gcnew RectShape(Size(10, 20));

设置填充颜色为红色

rect->setFillColor(Color::Red);

设置轮廓颜色为白色

rect->setLineColor(Color::White);

设置轮廓线条宽度为 2

rect->setStrokeWidth(2.0);

合起来如下:

// 创建一个宽高为 (10,20) 的矩形auto rect = gcnew RectShape(Size(10, 20));// 设置填充颜色为红色rect->setFillColor(Color::Red);// 设置轮廓颜色为白色rect->setLineColor(Color::White);// 设置轮廓线条宽度为 2rect->setStrokeWidth(2.0);二.对比EasyX图形库

C++/C还有一个可视化的非引擎,名为EasyX 他们都有Easy,让作者联想起他们的关联 由于作者两个都会,所以就拿过来对比一下

setbkcolor 设置当前设备绘图背景色。 setbkmode 设置当前设备图案填充和文字输出时的背景模式。 setfillcolor 设置当前设备填充颜色。 setfillstyle 设置当前设备填充样式。 setlinecolor 设置当前设备画线颜色。 setlinestyle 设置当前设备画线样式。

三.关于引擎的杂谈

两者区别不大,但是EasyX的更加全面,毕竟EasyX 是针对 C/C++ 的图形库的。所以EasyX的画图作用高于Easy2D 但是我们在编写游戏的时候,可以EasyX和Easy2D结合。博主以前写过一个程序,由于Easy2D的MessegeBox没有EasyX的功能,我就直接加入EasyX的库,将EasyX和Easy2D结合,这样就更好了 还有,如果我们在写项目的时候,也可以加入这两个库,对于我们Cpp写程序的时候有益无害 但是写题目的时候千万不要加入这两个库,因为我们很多的测试平台不会加上Easy2D和EasyX,这就和你写题目用Unity3D、虚幻等大引擎,编译错误一样的,区别不大 对于初学者,没有专门学游戏开发的Cpp学者,还是建议学一下Easy2D,这样可以拓展知识面,而Unity2D和虚幻等国际有名的大引擎,对于我们来说难度偏高,学入门所需要的时间不是一时半会儿的,所以我们用Easy2D拓展知识面熟悉一下引擎的样子,其实Easy2D和QT的区别也不会特别大,一通百通,学会举一反三即可。

关于命名

Easy2D 按照以下规律命名函数:

小驼峰式命名法则,第一个单词小写,后面的单词首字母大写,如Window::setTitle 所有函数均按照动词+名语形式命名,如Logger::showConsole 获取对象的属性值:get+属性名,如Node::getWidth 修改对象的属性值:set+属性名,如Node::setPos 获取对象的状态(bool值):is+状态名,如Node::isVisiable

总结

本节课主要是讲解了Easy2D引擎实现的教程,至此该课示例的思想博主已经真真切切彻彻底底分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下,包教包会。若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!

帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧! 原创不易,还希望各位大佬支持一下 点赞,你的认可是我创作的动力! 收藏,你的青睐是我努力的方向! 评论,你的意见是我进步的财富!

感谢每一个观看本篇文章的朋友,更多精彩敬请期待~( ̄▽ ̄~)~: iecne的博客 若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!

本文链接地址:https://www.jiuchutong.com/zhishi/294504.html 转载请保留说明!

上一篇:Vue3创建项目(四)main.js配置,避坑指南(vuecli3创建项目的过程)

下一篇:vue中devTools插件安装教程(vue.js devtools插件下载)

  • vmware workstation安装教程(vmware workstation安卓版)

    vmware workstation安装教程(vmware workstation安卓版)

  • 买票显示可候补啥意思(买票显示候补抢票是什么意思)

    买票显示可候补啥意思(买票显示候补抢票是什么意思)

  • 华为侧面开缝怎么修理(华为侧面开缝怎么修复)

    华为侧面开缝怎么修理(华为侧面开缝怎么修复)

  • 16g内存卡摄像头录像能录多长时间(16g内存卡摄像头存多久)

    16g内存卡摄像头录像能录多长时间(16g内存卡摄像头存多久)

  • 抖音不认证是不是就没有流量(抖音不认证是不是不能发视频)

    抖音不认证是不是就没有流量(抖音不认证是不是不能发视频)

  • 60v充电器绿灯一闪一闪(60v充电器绿灯亮没输出)

    60v充电器绿灯一闪一闪(60v充电器绿灯亮没输出)

  • 微信信息为啥不不显示(微信信息为啥不显示内容)

    微信信息为啥不不显示(微信信息为啥不显示内容)

  • 同城群和兴趣群区别(同城的群)

    同城群和兴趣群区别(同城的群)

  • 微信所绑定的QQ号出现异常(微信所绑定的手机号可以更改吗)

    微信所绑定的QQ号出现异常(微信所绑定的手机号可以更改吗)

  • 运算器能不能储存信息(运算器能干嘛)

    运算器能不能储存信息(运算器能干嘛)

  • 荣耀9x如何开启畅连通话(荣耀9x如何开启隐私空间)

    荣耀9x如何开启畅连通话(荣耀9x如何开启隐私空间)

  • 索尼8500g和9500g差别大不大(索尼8500g和9500g区别)

    索尼8500g和9500g差别大不大(索尼8500g和9500g区别)

  • 怎么让网易云音乐显示在通知栏(怎么让网易云音乐不被打断)

    怎么让网易云音乐显示在通知栏(怎么让网易云音乐不被打断)

  • vivoz5后盖什么材质(vivo z5后盖材质)

    vivoz5后盖什么材质(vivo z5后盖材质)

  • 苹果哪款机型是双卡双待(苹果哪款机型是2k)

    苹果哪款机型是双卡双待(苹果哪款机型是2k)

  • 抖音能隐藏关注粉丝嘛(抖音能隐藏关注的人吗)

    抖音能隐藏关注粉丝嘛(抖音能隐藏关注的人吗)

  • 钉钉截图会被知道吗(钉钉截图会被知道地址吗)

    钉钉截图会被知道吗(钉钉截图会被知道地址吗)

  • 拼多多会员名在哪里显示(拼多多会员号在哪里)

    拼多多会员名在哪里显示(拼多多会员号在哪里)

  • 平衡车可以安装双电池组吗(平衡车可以安装电瓶吗?)

    平衡车可以安装双电池组吗(平衡车可以安装电瓶吗?)

  • 个人热点连接记录可查吗(个人热点连接记录)

    个人热点连接记录可查吗(个人热点连接记录)

  • 小米8se如何设置指纹支付(小米8se如何设置来电铃声)

    小米8se如何设置指纹支付(小米8se如何设置来电铃声)

  • 苹果手机不会自动熄屏(苹果手机不会自动切换wifi)

    苹果手机不会自动熄屏(苹果手机不会自动切换wifi)

  • 淘宝子账号如何设置(淘宝子账号如何接待顾客)

    淘宝子账号如何设置(淘宝子账号如何接待顾客)

  • 快手同城被屏蔽怎么办(快手同城被屏蔽怎么解除)

    快手同城被屏蔽怎么办(快手同城被屏蔽怎么解除)

  • 苹果6sp摄像头抖动(苹果6sp摄像头抖动修复多少钱)

    苹果6sp摄像头抖动(苹果6sp摄像头抖动修复多少钱)

  • iptraf-ng命令  交互式彩色IP LAN监视器(ip a命令详解)

    iptraf-ng命令 交互式彩色IP LAN监视器(ip a命令详解)

  • 生产企业出口退税流程
  • 厂房自用和出租税收区别
  • 失控发票一定要补税吗
  • 投资现金流是负的说明什么
  • 已收货款没发货怎么退款
  • 城镇土地使用税的征税范围有哪些
  • 个人向公司账户存款
  • 银行销户余额取现怎么做分录
  • 退货款现金流量表填经营活动的什么科目
  • 应征消费税的汽车为啥不能抵扣
  • 计提所得税是在结转12月损益之前还是之后
  • 减免税到什么时候
  • 注销一定要去营业厅吗
  • 2019年小规模纳税人免征增值税政策
  • 劳务派遣差额征税政策
  • 其他应付款报表填列
  • 发票上开的购物卡,入帐时怎么写摘要?
  • ie浏览器打开后显示已停止工作
  • 怎么关闭win11安装软件提示
  • 华为p50新款
  • 房地产会计工资一般多少
  • php获取文件扩展内容
  • 利用的英文
  • 票据贴现融资有哪些潜在的风险
  • 小微企业减免附加税政策
  • 前端大屏常用的输入法
  • vue 实战
  • video.js教程
  • thinkphp join
  • thinkphp批量导入数据
  • vue基础知识
  • 自动驾驶汽车决策与控制pdf
  • 模型参数是什么意思
  • 功能强大的php文件有哪些
  • 给工程项目买保险合法吗
  • 私人帐户可以转账给对公账户吗
  • 织梦建站详细步骤
  • 国内源码平台
  • access如何设置宏的功能
  • sql2005安装不上
  • mysql数据库最新版
  • 季末资产总额怎么计算
  • 支付国外佣金的税率多少
  • 劳务是什么单位
  • 所得税汇算清缴补税的会计处理
  • 个税申报填错了就这样报了怎么办
  • 先付款后开票怎样写证明
  • 定期定额征收和核定征收哪个好
  • 不征收耕地占用税的是
  • 水利建设行业
  • 工程建设项目融资方式有哪些
  • 残料入库计入
  • 分公司交总公司管理费怎么做账
  • 月末结转后应交税费应交增值税一般无余额
  • 待摊费用年底能够有余额么
  • 企业软件开发哪家好
  • 工程款外地预缴哪些税
  • 特定担保债权
  • 食堂没发票如何记账
  • 行政事业单位能报销瓶装水吗
  • 银行日记账年底是0第二年年初怎么写
  • 什么是交易性金融资产?交易性金融资产主要有哪些特点?
  • Win10 PC/Mobile Creators快速预览版14959今日推送
  • apt-key
  • win7怎样关闭u盘保护功能
  • windows的fn键
  • 太极越狱助手
  • mac 阿里旺旺怎么使用
  • mac登录apple id一直转圈
  • cent linux
  • jquery可以实现哪些效果
  • Node.js中的事件循环是什么意思
  • 批处理作用
  • Python爬取微信视频号
  • 详解杭州亚运会会徽和口号
  • 安卓手机 监听功能
  • 安卓点赞脚本
  • 2021税务公告
  • 邮储银行优势及特长简介
  • 拼多多发票哪里申请开票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设