位置: 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插件下载)

  • 192.168.1.1打不开怎么办(手机192.168.1.1打不开)

    192.168.1.1打不开怎么办(手机192.168.1.1打不开)

  • 什么是超前点播(什么是超前点播剧)

    什么是超前点播(什么是超前点播剧)

  • 隐藏相册怎么设置(隐藏相册怎么设置华为)

    隐藏相册怎么设置(隐藏相册怎么设置华为)

  • 拼多多七天聚宝盆可以提现吗(拼多多七天聚宝盆在哪里打开)

    拼多多七天聚宝盆可以提现吗(拼多多七天聚宝盆在哪里打开)

  • mfd文件用什么软件打开(mfd的文件怎么用手机打开)

    mfd文件用什么软件打开(mfd的文件怎么用手机打开)

  • 华为手机超级截屏在哪(华为手机超级截图怎么截)

    华为手机超级截屏在哪(华为手机超级截图怎么截)

  • 华为隐私空间系统和主系统可以同时进行么(华为 私隐空间)

    华为隐私空间系统和主系统可以同时进行么(华为 私隐空间)

  • 8g和12g运行内存差距大吗(8g运行内存和12g运行内存哪个用的久)

    8g和12g运行内存差距大吗(8g运行内存和12g运行内存哪个用的久)

  • i11蓝牙耳机是什么牌子(i11蓝牙耳机是杂牌吗)

    i11蓝牙耳机是什么牌子(i11蓝牙耳机是杂牌吗)

  • 两栏内容怎么设置(两栏内容怎么设置ppt)

    两栏内容怎么设置(两栏内容怎么设置ppt)

  • eatx12v是什么接口

    eatx12v是什么接口

  • 手机摔了充不了电怎么回事(手机摔了充不了电还一直重启)

    手机摔了充不了电怎么回事(手机摔了充不了电还一直重启)

  • airpods型号a2031和a2032区别(airpods型号号码a2031是二代吗)

    airpods型号a2031和a2032区别(airpods型号号码a2031是二代吗)

  • 群待办怎么取消(群待办怎么取消掉)

    群待办怎么取消(群待办怎么取消掉)

  • 电脑升级系统后原有文件还存在吗(电脑升级系统后键盘不能用)

    电脑升级系统后原有文件还存在吗(电脑升级系统后键盘不能用)

  • ipad2019可以用鼠标吗(ipad2018可以用鼠标吗?)

    ipad2019可以用鼠标吗(ipad2018可以用鼠标吗?)

  • 荣耀20和20s的区别(荣耀20和20S的区别)

    荣耀20和20s的区别(荣耀20和20S的区别)

  • 微信大于25m文件怎么发(微信大于25m文件打不开)

    微信大于25m文件怎么发(微信大于25m文件打不开)

  • word怎么启动编辑(word2007启用编辑)

    word怎么启动编辑(word2007启用编辑)

  • 微信粘贴在哪里(微信粘贴在哪里找出来)

    微信粘贴在哪里(微信粘贴在哪里找出来)

  • 苹果手机摄像头坏了怎么办(苹果手机摄像头坏了换一个要多少钱)

    苹果手机摄像头坏了怎么办(苹果手机摄像头坏了换一个要多少钱)

  • mate30pro上市时间

    mate30pro上市时间

  • 快手买完东西在哪查看物流(快手买完东西在哪投诉)

    快手买完东西在哪查看物流(快手买完东西在哪投诉)

  • 手机录音声音小怎样调(手机录音声音小怎么回事儿)

    手机录音声音小怎样调(手机录音声音小怎么回事儿)

  • alp一al00是什么型号(alp-al00是华为什么型号)

    alp一al00是什么型号(alp-al00是华为什么型号)

  • vue2和vue3的区别(由浅入深)(vue2和vue3的区别大么)

    vue2和vue3的区别(由浅入深)(vue2和vue3的区别大么)

  • bg命令  将作业放到后台运行

    bg命令 将作业放到后台运行

  • 固定资产清理应该在年报中怎么填写
  • 城建税减免性质代码怎么选择2020年4月
  • 制作费开票属于什么科目
  • 火车票的进项税额
  • 税务局财务报表报送期限
  • 租房违约金怎么计算,怎么写
  • 定期定额纳税申报表应税项应填哪个数
  • 国有资产转让房产
  • 证券公司清算交收
  • 跨年主营业务成本直接冲回可以吗
  • 商业企业购货分录
  • 企业收到外汇的账务处理
  • 材料采购成本差异属于什么科目
  • 融资协议如何缴纳印花税
  • 什么发票可以抵税
  • 年会的奖金入什么科目
  • 企业购买的预付卡赠送客户怎么入账
  • 居间费税收是多少
  • 核定征收金额如何确定
  • 理财产品属于货币吗
  • 公司注册资金未实缴可以申请破产吗
  • 专用发票密码区显示数电票号码
  • 以前年度少计收入 会计怎么处理
  • 计提固定资产折旧
  • 结转利润分配分录怎么写
  • mac怎么打印文件内容
  • 以报销形式发放的工资 劳动仲裁
  • 办公家具折旧年限及计算方法
  • 暂存款转结余
  • php declare函数
  • 职工教育经费超过可以结转以后年度怎么做账
  • .exe是什么文件
  • 航天信息服务费发票哪里打印
  • exescope是什么软件
  • ospf区域间路由和区域内路由
  • php基本操作
  • 培训类产品
  • 应付债券利息费用
  • wordpress自定义函数
  • 文化事业2021
  • 税控抵税
  • 农药免税政策文件有哪些
  • 金融企业会计科目有哪些
  • 印花税没有及时交会有什么后果
  • 法人转钱入公户要交税吗
  • 工程产值是怎么算的
  • sql2019远程连接
  • SQL一条语句统计记录总数及各状态数
  • 应付利息的账务处理
  • 人力资源劳务外包需要什么资质证书
  • 福利费入账需要发票吗
  • 外币收款怎么做账
  • 土地增值税的预征和清算
  • 资本公积金转增股本会计处理
  • 劳务增票多少个点
  • 中标单位支付代理费
  • 企业日常发放的贷款
  • 租房发票如何做分录
  • 三证合一后还有纳税人资格证吗
  • 施工方怎么开发票
  • sql 关系数据库
  • 众微科技怎么样
  • linux怎样浏览文件中的内容
  • ghost还原文件
  • windows缓存写入失败,数据怎么找回
  • 获取windows的最新信息
  • XP IIS5.1 + PHP 5.2.1 + MySQL 5.0.37 + Zend 3.2.6 + phpMyAdmin-2.10.0.2环境配置
  • win8.1卸载软件在哪里
  • redhat linux8
  • eclipce System.loadLibrary报错
  • Android游戏开发读后感
  • 随机色彩
  • easyui的表单验证
  • import和export区别
  • 怎么在晋江查找观看记录
  • 为什么买的酒精有香味
  • 深圳市税务局发短信是真的吗
  • 税务逾期未申报是什么意思
  • 北京地税局上班时间查询
  • 国税发票什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设