首页 > 其他分享 >JHMG游戏引擎

JHMG游戏引擎

时间:2024-04-26 20:47:34浏览次数:21  
标签:jhVector2 游戏 对象 mainGame JHMG scene player 引擎

✅JHMG 游戏引擎

JHMG 游戏引擎是我写的一个简单的2D游戏引擎,旨在帮助快速搭建和开发2D游戏。

源仓库地址 https://github.com/jeanhua/JHMG-engine

gitee镜像地址 https://gitee.com/jeanhua/JHMG-engine

特点

  • 提供了游戏场景管理、游戏对象管理、界面显示、音效播放、用户输入处理等核心功能。
  • 包含了一系列基础的自定义类,如字符串处理、数学计算和图形操作等。
  • 易于使用和扩展,适合开发小型的2D游戏或图形应用程序。

依赖

  • EasyX:图形库,用于图形界面的绘制和处理。

下载

你可以从GitHub仓库下载源代码:

git clone https://github.com/jeanhua/JHMG-engine.git

类图

类图

详细信息

类介绍

gameObject

  • 描述: 代表游戏中的各种对象,可以是圆形、矩形、菱形或三角形等形状。
  • 功能:
    • 管理对象的位置、大小、图像和可见性。
    • 处理对象之间的碰撞检测。
    • 允许设置游戏循环中对象的自定义行为。

gameUI

  • 描述: 管理游戏中的用户界面元素,例如图片等。
  • 功能:
    • 控制界面元素的位置、大小、图像和可见性。
    • 处理用户界面元素的鼠标交互,如点击事件。

gameUIText

  • 描述: 管理游戏用户界面中的文本元素。
  • 功能:
    • 设置文本的内容、位置和可见性。

gameSound

  • 描述: 处理游戏音效的播放和控制。
  • 功能:
    • 播放、停止、暂停和恢复音效。
    • 设置音效的音量和播放位置。
    • 获取音效的长度和状态。

gameInput

  • 描述: 处理游戏中的键盘输入。
  • 功能:
    • 捕获键盘按键事件。

gameScene

  • 描述: 表示游戏中的一个场景,包含游戏对象、用户界面元素和文本元素。
  • 功能:
    • 管理场景中的游戏对象、用户界面元素和文本元素。
    • 处理游戏循环中的场景逻辑。

MouseAction

  • 描述: 处理游戏对象和用户界面元素的鼠标交互。
  • 功能:
    • 处理鼠标点击事件,并触发相应的回调函数。

gameInputBox

  • 描述: 处理游戏中的输入框,允许用户输入文本。
  • 功能:
    • 显示输入框,并允许用户输入文本内容。

gameMessageBox

  • 描述: 管理游戏中的消息框,用于向用户显示消息。
  • 功能:
    • 显示消息框,并显示指定的消息内容。

Game

  • 描述: 表示游戏本身,管理游戏窗口、场景、帧率和声音等。
  • 功能:
    • 初始化游戏窗口并启动游戏循环。
    • 设置游戏窗口的大小和标题。
    • 控制游戏的帧率。
    • 管理游戏中的场景和声音。
    • 处理游戏中的输入事件。

jhString

  • 描述: 字符串类型,提供字符串操作的功能。
  • 功能:
    • 构造函数:可以从字符串、字符数组或另一个 jhString 对象构造。
    • 运算符重载:支持字符串的拼接、赋值、比较等操作。
    • 类型转换:可以将字符串转换为整型、浮点型等数据类型。
    • 字符串操作:包括索引、截取、查找等操作。

jhFraction

  • 描述: 分数类型,用于处理分数的计算。
  • 功能:
    • 构造函数:可以从整型、浮点型或分子分母构造分数。
    • 运算符重载:支持分数的加减乘除等运算。
    • 分数化简:将分数进行化简操作。
    • 类型转换:可以将分数转换为浮点型。

jhVector2

  • 描述: 二维向量,表示坐标或方向。
  • 功能:
    • 构造函数:可以从两个浮点数构造二维向量。
    • 运算符重载:支持向量的加减乘除等运算。
    • 向量操作:包括距离计算、叉乘、点乘等操作。

jhList 类模板

  • 描述: 链表模板类,用于管理元素的链表结构。
  • 功能:
    • 添加元素:在链表末尾添加元素。
    • 删除元素:删除链表中的节点。
    • 构造函数:初始化链表。
    • 析构函数:释放链表内存。

jhMatrix

  • 描述: 矩阵类,用于矩阵的运算和处理。
  • 功能:
    • 构造函数:可以从二维数组、其他矩阵对象或行列数构造矩阵。
    • 矩阵运算:支持矩阵的加减乘、转置、逆等运算。
    • 求解行列式:计算矩阵的行列式值。
    • 判断相等:判断两个矩阵是否相等。

jhObject2D 命名空间

  • 描述: 二维物体类,包括圆形、矩形、三角形、菱形等。
  • 功能:
    • 各种形状的构造:可以构造圆形、矩形、三角形、菱形等物体。
    • 移动:可以移动物体的位置。
    • 面积计算:可以计算物体的面积。
    • 碰撞检测:可以检测物体之间的碰撞。

标签:jhVector2,游戏,对象,mainGame,JHMG,scene,player,引擎
From: https://www.cnblogs.com/jeanhua/p/18160831/JHMG-engine

相关文章

  • [游戏]深岩银河幸存者 --修改实现无敌
    深岩银河幸存者--修改实现无敌目录深岩银河幸存者--修改实现无敌Il2CppDumperGameAssembly.dll/Assembly-CSharp.dll分析12345修改实现无敌global-metadata.dat未加密,直接上Il2CppDumperIl2CppDumperInitializingmetadata...MetadataVersion:29Initializingil2cp......
  • 更新!!!Unity移动端游戏性能优化简谱
    UWA官方出品,结合多年优化经验撰写了《Unity移动端游戏性能优化简谱》,文章从Unity移动端游戏优化的一些基础讨论出发,例举和分析了近几年基于Unity开发的移动端游戏项目中最为常见的部分性能问题,并展示了如何使用UWA的性能检测工具确定和解决这些问题。 (1)性能优化的基本逻辑......
  • 火山引擎VeDI:如何高效使用A/B实验,优化APP推荐系统
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在移动互联网飞速发展的时代,用户规模和网络信息量呈现出爆炸式增长,信息过载加大了用户选择的难度,这样的背景下,推荐系统应运而生,为用户提供个性化的内容推荐。推荐系统在不断迭代中,其算法、策......
  • MySQL—MySQL的存储引擎之InnoDB
    MySQL—MySQL的存储引擎之InnoDB存储引擎及种类存储引擎说明MyISAM高速引擎,拥有较高的插入,查询速度,但不支持事务InnoDB5.5版本后MySQL的默认数据库存储引擎,支持事务和行级锁,比MyISAM处理速度稍慢ISAMMyISAM的前身,MySQL5.0以后不再默认安装MRG_MyISAM将多......
  • 边权并查集之奇偶游戏
    题目传送门:https://www.acwing.com/problem/content/241///懒得手敲题目先给一下题解:#include<iostream>#include<unordered_map>//这个题目有两个点要想明白,一个是点到根的距离标志着这个点的性质,且在路径压缩的过程中此点不会改变//第二点就是在出现新的关系,也就是要将两......
  • [题解] [NOIP2011 提高组] Mayan 游戏
    [题解][NOIP2011提高组]Mayan游戏题目描述有一个\(7\)行\(5\)列的格子棋盘,有的格子上有方块。方块有重力,即如果一个方块下面没有其他方块,他就会往下掉,直到触底或者下面有方块为止。每个方块都有自己的颜色,如果连着三个竖着或者横着的方块颜色相同,它们就会消除。如果出......
  • C++二要素认证,游戏实名认证接口、金融实名认证
    随着移动互联的发展,越来越多的企业在金融市场都想分一杯羹,而哪种理财产品才是人们放心的理财产品呢?我们都知道理财产品开户都需要上传身份证号核验和图像进行验证,以保证个人信息的真实性,那么这些是如何来判别身份证的真伪呢?加入上传一张假的身份证是否也能验证通过呢?翔云身份......
  • 安全测试之探索windows游戏扫雷
    扫雷游戏相信很多人都从小玩过,在那个电脑游戏并不多的时代,扫雷成为玩的热度蛮高的一款游戏之一,然而就在有一次,接触到了一次不寻常的扫雷过程,使得后来我也有了这个冲动,也来做一次。通过动态调试,逆向和来写一个扫雷辅助工具从而提高逆向与编码技能。动态调试(分析)首先进行扫雷程......
  • 使用 Docker 自建一款怀旧游戏之 - 超级马里奥
    1)超级马里奥简介《超级马里奥》(SuperMario)是任天堂公司创造的一款经典游戏系列,是世界上最知名、最成功的游戏之一。这个系列由日本设计师宫本茂于1985年创造,最初的游戏名为《超级马里奥兄弟》(SuperMarioBros.),推出后风靡全球。2)在线部署2.1)安装Docker环境#高版本......
  • 火山引擎ByteHouse:OLAP如何支持超高QPS点查?
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在当今高速发展的互联网时代,信息传播迅速,用户数量激增。在面对如此庞大的用户群体和高频的访问需求时,系统高并发访问的性能问题成为了无法回避的挑战。为了满足业务场景中对数据并发查询的即......