✅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
命名空间
- 描述: 二维物体类,包括圆形、矩形、三角形、菱形等。
- 功能:
- 各种形状的构造:可以构造圆形、矩形、三角形、菱形等物体。
- 移动:可以移动物体的位置。
- 面积计算:可以计算物体的面积。
- 碰撞检测:可以检测物体之间的碰撞。