Gincu

C++ 2D 游戏引擎
授权协议 Apache
开发语言 C/C++
所属分类 游戏/娱乐、 游戏模拟器/工具/引擎
软件类型 开源软件
地区 国产
投 递 者 富建章
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Gincu 是 C++ 11 编写的轻量级跨平台 2D 游戏引擎和中间件,具有良好结构和扩展性。

支持平台

  • Windows:已测试。

  • Android:已测试。

  • iOS/iPhone/iPad:未测试。

  • Mac:未测试。

  • Linux:未测试。

开发环境

  • C++11 编译器(Visual C++ 2015 or later, or GCC (MingW) 4.8 or later)

  • SFML 2.4.1 or later。

  • Allegro 5.2 or later。注意,Gincu 只需要一种渲染引擎,SFML 或者 Allegro,不需要两种。

  • 我的 cpgf 库。

  • CMake 3.6 or later。

  • 需要深克隆 clone --recursive。

核心功能和特性

  • 多线程OpenGL渲染。

  • 多线程任务处理和资源加载。

  • 实体组件系统(Entity Component System,ECS)。

  • 场景管理。

  • 场景过渡效果。

  • 基于ECS的场景图(GComponentLocalTransform)。

  • 相机系统。

  • 锚点和翻转x / y(GComponentAnchor)。

  • 精灵动画。

  • 基于帧的动画。

  • 使用我的cpgf库中的补间模块进行补间动画。

  • 底层自动批量绘制( batching draw calls)。

  • 有限状态机。

  • 事件驱动。

  • 内存池和缓存的实体和组件。 兼顾CPU缓存优化。

  • 不依赖底层渲染引擎。 我们可以简单地将SFML替换为任何其他引擎甚至3D引擎。

  • 使用cpgf进行脚本绑定。目前支持Lua脚本。

 相关资料
  • 包含在程序启动时启动的线程。这个线程包含一个循环,每40毫秒更新一次游戏并重新绘制()board。 备选办法B: 板创建一个摆动计时器。这个计时器的动作监听器是板本身。actionPerformed()方法每40毫秒运行一次,并更新game+repaints Board()。 谢谢

  • 问题内容: 下学期,我们有一个团队中的Java应用程序模块。该模块的要求是制作游戏。在圣诞节假期里,我一直在做一些练习,但是我想不出绘制图形的最佳方法。 我正在使用Java Graphics2D对象在屏幕上绘制形状,并每秒调用30次,但这非常闪烁。有没有更好的方法来绘制Java中的高性能2D图形? 问题答案: 您想要做的是创建一个带有BufferStrategy的canvas组件并对其进行渲染,下

  • 问题内容: 我目前正在根据 主题医院 的想法编写一个非常基本的Java游戏。 我对Java还是很陌生,目前正在第一年就读于大学。我已经断断续续地做了Java两年了,但是我最终将自己的时间投入到一个不错的项目中。 我处于需要创建一个人(患者)才能入院的阶段。他们需要先到接待处,再到GP的办公室,然后再回到起始位置。 我已经研究过A *路径查找,但是对我来说似乎真的很复杂。我了解我的想法,但不确定如何

  • 我正在克隆一只松鸡。我表现得很好:每秒60帧。当时它只有一根柱子/障碍物。我一加上3个,fps就降到了30及以下。那么游戏现在就不能玩了。我知道这与一直在做有关。 以下是代码: 完整的项目来源 还要记住这是真正的未抛光版本,所以代码很难看。我正在寻找提升性能的解决方案。 主类: 框架类别: 支柱/支柱类: Ptica/Brid等级: Util类:

  • 我在java中创建了一个2D游戏,并试图将其分辨率提高到60 fps,分辨率为1920x1080像素。我的游戏逻辑在不到1毫秒的时间内表现良好。但是绘图需要超过10毫秒。在我相当强大的台式机(英特尔i5-4670K@3.40Ghz)上这可能就足够了,但是在我的笔记本电脑(英特尔i5-6300HQ@2.30Ghz)上,游戏已经慢了很多。绘图分为两个主要步骤: > 将游戏的每个部分绘制到Buffere

  • 问题内容: 我最近一直在研究游戏开发,而我的第一种编程语言是Java。在玩了许多用c ++开发的令人惊叹的游戏之后,我想知道为什么Java在游戏行业中没有被大量使用。我查看了jMonkeyEngine 3和其他一些游戏引擎环境,但是看到的屏幕截图远没有那么令人惊叹。诸如EA的《极品飞车》(Need for Speed Hot)和ubisoft的Assassins Creed等标题传达了这种现实感。

  • 本文向大家介绍Unity Shader实现2D游戏迷雾,包括了Unity Shader实现2D游戏迷雾的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity Shader实现2D游戏迷雾的具体代码,供大家参考,具体内容如下 先看效果吧。 我使用的是屏幕后处理效果,首先先去Photoshop做一张图片如下,用画笔点一个点就可以了,使用它来对摄像机截取的图片进行处理。 在摄像机上添加

  • 问题内容: 我正在尝试用Java制作2D游戏,但是当我在线程中调用repaint()方法时,会有一个奇怪的仅灰色窗口。 这是我到目前为止的源代码: Spaceshooter.java 播放器 预先感谢您的答复! 问题答案: 什么是EDT? Swing事件处理代码在称为事件调度线程的特殊线程上运行。大多数调用Swing方法的代码也都在此线程上运行。这是必需的,因为大多数Swing对象方法都不是“线程