猿创征文|【C++游戏引擎Easy2D】我拿吃零食的时间,学会了在C++上添加可点击按钮

这篇具有很好参考价值的文章主要介绍了猿创征文|【C++游戏引擎Easy2D】我拿吃零食的时间,学会了在C++上添加可点击按钮。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vs c++ 添加按钮,【C++游戏引擎】,前端,c++,算法,开发语言,游戏引擎


vs c++ 添加按钮,【C++游戏引擎】,前端,c++,算法,开发语言,游戏引擎


🧛‍♂️iecne个人主页:iecne的学习日志
💡每天关注iecne的作品,一起进步
💪学C++必看iecne
本文专栏【C++游戏引擎】.
🐳希望大家多多支持🥰一起进步呀!
vs c++ 添加按钮,【C++游戏引擎】,前端,c++,算法,开发语言,游戏引擎


✨前言

哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【游戏引擎Easy2D】想要做游戏但不会按钮鼠标控制?十分钟教会你Button按钮类。包教包会,快来看看吧!
引擎支持 Visual Studio 2013 及以上版本,如果你使用的是较低版本的 VS,那么你需要考虑一下更新你的编译器了

任务描述

如何根据据Button制作鼠标控制按钮类
本实践旨在通过多个代码的案列,让大家理解和掌握如何使用Easy2D引擎来将Button解释并且会运用
vs c++ 添加按钮,【C++游戏引擎】,前端,c++,算法,开发语言,游戏引擎



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

帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
原创不易,还希望各位大佬支持一下
点赞,你的认可是我创作的动力!
收藏,你的青睐是我努力的方向!
评论,你的意见是我进步的财富!
vs c++ 添加按钮,【C++游戏引擎】,前端,c++,算法,开发语言,游戏引擎


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

vs c++ 添加按钮,【C++游戏引擎】,前端,c++,算法,开发语言,游戏引擎文章来源地址https://www.toymoban.com/news/detail-782821.html

到了这里,关于猿创征文|【C++游戏引擎Easy2D】我拿吃零食的时间,学会了在C++上添加可点击按钮的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 了解游戏引擎,游戏引擎的选择:2D3D游戏开发

    常用的游戏开发引擎有很多,以下是一些在游戏开发领域中较为流行和广泛应用的引擎: 1. Unity游戏引擎 特点: 强大的跨平台支持,可以发布到多个平台,包括PC、移动设备和主机。 大量的插件和资产商店,便于开发者获取各种功能和资源。 相对易学易用,拥有大量的教程

    2024年03月10日
    浏览(55)
  • 猿创征文| redis基本数据类型

    📃个人主页:不断前进的皮卡丘 🌞博客描述:梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记 🔥个人专栏:微服务专栏 ✔️redis常见的操作命令:http://www.redis.cn/commands.html 命令 功能 keys * 查看当前库的所有key exists key 判断

    2023年04月08日
    浏览(42)
  • 以太坊是什么?|猿创征文

    以太坊是一个可编程、可视化、更易用的区块链,它允许任何人编写智能合约和发行代币。 在以太坊(Ethereum)出现之前,各种区块链应用的功能非常有限,例如,比特币和其他加密货币都只是纯粹的数字货币。 以太坊(Ethereum)创始人Vitalik Buterin将以太坊(Ethereum)设想为开发人员

    2024年02月02日
    浏览(73)
  • 猿创征文|ZooKeeper(伪)集群搭建

    前言:zookeeper作为一款分布式协调中间件,其重要性不言而喻,因此需要保证其高可用性。所以一般都会搭建zookeeper集群,今天叶秋带领大家在一台服务器上搭建伪集群。 目录 1、 搭建要求 2、 准备工作 3、 配置集群  4 启动集群  5 模拟集群异常 1、 搭建要求 真实的集群是

    2024年02月01日
    浏览(71)
  • 猿创征文|【HTML】标签学习之路

    💖 目录 一、HTML语法规范 1.基本语法概述 2.标签关系 二、HTML基本结构标签 1.第一个HTML页面 2.HTML基本结构标签总结 1.基本语法概述 html是由尖括号包围的,列如: html 。 html标签通常是成对出现的,列如:html和/html,我们称为 双标签 。标签对里的第一个标签是开始标

    2024年01月16日
    浏览(43)
  • 猿创征文|【深度学习前沿应用】文本生成

    作者简介 :在校大学生一枚,C/C++领域新星创作者,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程爱好者,期待和大家一起学习,一起进步~ . 博客主页 :

    2024年02月06日
    浏览(41)
  • 猿创征文|“云“创新展望:数据之浩瀚

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! AWS亚马逊云科技提供全球覆盖广泛、服务深入的云平台,全球数据中心提供超过 200 项功能齐全的服务 连续 11 年被 Gartner 评为\\\"全球云计算领导者\\\" ;2021 年全新 Gartner 魔力象限中被评为\\\"云基础设施与平台服务(Iaas Pa

    2023年04月24日
    浏览(93)
  • 猿创征文|我的技术成长之路&&C++

    ✅作者简介:C/C++领域新星创作者,CSDN内容合伙人,新晋万粉博主,大三学生 这个世界熙熙攘攘,少有人给灵魂抛光   读者朋友们大家好,借着本次猿创征文活动我将分享一下自己的C++技术的成长之路。身为计科专业的学生,我接触的第一门编程语言是C语言,打印的第一

    2024年02月06日
    浏览(53)
  • 猿创征文 | Solidity 智能合约技术成长之路

    Solidity 是链上智能合约的开发语言,链上智能合约相当于传统行业的后端,链上应用基本都是由合约 + 前端组成的,虽然不推荐,但部分链上应用也会加入后端进行数据存储,以降低用户的使用成本。 Solidity 这门开发语言并不复杂,只需要您稍微有一点儿编程基础,英文词汇

    2024年01月23日
    浏览(47)
  • 猿创征文|【云原生】学习云原生经验分享

    博主昵称:跳楼梯企鹅 博主主页面链接: 博主主页传送门 博主专栏页面连接: 专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。 博主座右铭:发现光,追随光,

    2024年02月02日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包