剑孤寒的小站

人生的价值不是用时间,而是用深度去衡量的!
posts - 75, comments - 290, trackbacks - 0, articles - 0

置顶随笔

Galaxy2D Game Engine 4.2 开发版  下载地址  D3DRender


最近这边不能评论了,到主站上新建了个博客,请大家移步新博客:


注意:
1.下载后的压缩包请使用WinRar5.0打开。
2.开发版包含了现在正在开发中的Galaxy2D游戏引擎全部新特性,可能包含一些未知bug,如果在使用中发现问题或bug请在此页留言。

 

版权声明:

1. 本软件著作权归沈明所有,保留所有权利。任何个人或团体可以免费使用本引擎开发商业或非商业用途的游戏和程序,可以修改和使用公开发布的源代码,同时可以任意转载复制本引擎,但必须保证复制的完整性。
2. 不得对本游戏引擎进行反向工程、反向编译或反汇编,不得对本引擎所含的代码库及附带的工具程序作任何修改,破坏引擎的完整性。
3. 本游戏引擎是免费软件,对于由于使用本引擎引起的任何不良后果,用户必须自己承担风险,如果用户使用本引擎用于任何非法目的,用户必须独立承担由此带来的法律责任。


引擎说明:

Galaxy2D游戏引擎是一个基于D3D硬件加速的2D游戏引擎,主要特性有:

1. 支持高性能的图形渲染及特殊效果(如:缩放、旋转、透视、alpha混合等)
2. 支持常用音频格式(wave, ogg, mp3),提供高效的并发播放等功能,支持3D音效
3. 支持常用图片格式(bmp, png, jpg, tga, dds),支持alpha通道自动混合等
4. 提供高性能的字体渲染模块,支持中文等语言,支持TrueType和图片字体
5. 提供资源数据载入模块,支持文件包数据读取,自带文件打包加密工具
6. 提供资源管理模块,简化游戏中的资源管理,并带有资源管理器
7. 提供高效的粒子系统以及粒子编辑器
8. 提供易用的GUI模块以及GUI编辑器
9. 支持载入和显示任意尺寸图片
10. 支持视频播放和打包加密功能

 


运行环境:

Windows 98 及以上操作系统
DirectX 9.0c

编译器支持:

Microsoft Visual Studio 2003 及以上版本


联系方式:

主页地址: http://www.cppblog.com/jianguhan/
电子邮箱: jianguhan@126.com

posted @ 2013-09-30 13:16 剑孤寒 阅读(2923) | 评论 (154)编辑 收藏

◆Galaxy2D游戏引擎开源吗?
    Galaxy2D游戏引擎不开源。 

◆Galaxy2D相对HGE有何优点?
    Galaxy2D相对HGE有以下优点: 
    (1)自带音频播放功能,HGE需要通过bass.dll播放音频文件,而bass.dll是要收费滴 
    (2)自带视频播放功能
    (3)提供高效中文字体渲染,可以从TTF字体文件或图片文件创建字体,支持字体加边、字体阴影,自动换行,行间距,字间距等功能 
    (4)支持任意尺寸贴图(ggeImage),可以显示超过显卡最大纹理尺寸的纹理 
    (5)渲染目标纹理也可以锁定和写入数据 
    (6)提供资源编辑器,用于编辑游戏中用到的各种纹理、粒子系统等资源 
    (7)可以很容易的跟MFC/QT等应用程序框架结合制作游戏工具 
    (8)提供易用扩展性高的GUI系统并带有GUI编辑器 
    (9)支持PixelShader,可以用GPU高效的实现一些特殊效果 
    (10)采用引用计数的资源管理方式
    (11)其他扩展功能,如:XML文件处理、文字编码转换、轨迹带等
    (12)Galaxy2D一直在维护中,HGE已死
  
◆我可以免费用Galaxy2D做商业游戏吗?
    商业或非商业软件都可以免费使用Galaxy2D。

◆Galaxy2D支持哪些编译器?
    目前只支持Microsoft Visual Studio的编译器,支持VS2003及以后版本。

◆Galaxy2D支持什么操作系统?
    支持Windows XP及以后的操作系统。 暂时没有开发跨平台版本的计划。

◆Galaxy2D使用的是哪个DirectX版本?
    Galaxy2D使用的是DirectX9.0c,XP及以后的操作系统自带该版本DX,不需用户另外安装,兼容性好。
    不过这个版本的DX有些bug,例如保存纹理到png文件会丢失alpha通道等,等以后更高版本的Windows普及后会更新DirectX。

为什么引擎文档无法显示?
    请在engine.chm文件上单击右键,选择“属性”选项,在打开的对话框中点击“解除锁定”即可,也可用其他工具软件打开。

posted @ 2010-01-02 20:46 剑孤寒| 编辑 收藏

2017年3月9日

Update (2017-3-8):
◆删除gUInt/gUShort/gUChar,添加gint8/gint16/gint32/gint64/guint8/guint16/guint32/guint64
◆去掉GGE_INLINE,GGE_CALL
◆ggeResManager::EnumRes()改名为ggeResManager::TraversalRes()
◆ggeEnumResCallBack改名为ggeTraversalResCallBack
◆添加ggeResManager::GarbageCollect()用于手动控制垃圾回收
◆重写ggeVariant
◆ggeAnimation/ggeSprite加回Render()/RenderEx()/RenderStretch()/Render4V()   (经过一段时间的使用,发现这些函数还是用着挺方便的,所以还是加回来)
◆TEXTURE_ADDRESS改为TEXTURE_STATE,并添加TEXSTATE_FILTER状态
◆ggeShader::SetTexture()/SetTextureEx()去掉bFilter参数
◆添加Alpha混合掩码 ALPHA_BLEND_MASK
◆去掉GGE_FORCETEXFILTER和SetTextureFilter()等纹理过滤相关函数和参数,添加BLEND_NOTEXFILTER/BLEND_TEXFILTER混合参数
◆Matrix/Matrix4移到ggematrix.h
◆ggeGuiWindow::AddCtrl();的bAdjustPos默认参数改为false
◆修改重置设备时不中断帧函数调用  (注意,外部逻辑需要判断Graph_BeginScene()的返回值,如果返回false不要调用渲染相关函数功能,否则可能导致不可预料的后果)
◆引擎自带工具配置文件修改为xml格式
◆TexturePacker配置文件修改记录的文件路径修改为相对路径
◆修改ResEditor/GuiEditor没有进行垃圾回收的bug
◆修改GUIEditor设置ggeGuiRichText文字时不会立即看到效果的BUG

下载地址 Galaxy2D Game Engine 4.2 开发版

posted @ 2017-03-09 17:48 剑孤寒 阅读(118) | 评论 (0)编辑 收藏

2017年1月25日

最近用了一下vs2015,感觉很不错,于是把引擎的工程也升了一下级,
升级过程非常顺利,只是有两个小问题:

1.编译出来的dll如果用upx压缩,在win8/10系统下不会调静态变量的构造函数,从而导致程序崩溃,猜测可能是新加的线程安全静态变量初始化功能弄的,所以为了保证兼容性,以后的引擎将不再使用upx压缩了
2.不知道为啥,vs2015总是执着的在解决方案目录下自动生成一个空的"Debug"目录,手动删除后过一段时间又会出现,只好将这个目录设成隐藏,眼不见为净

升级到VS2015后发现Qt4.7编译不过了,顺便把QT也升级了一下,
不过升级QT就不那么顺利了,遇到一些很蛋疼的问题,我差点以为我下载了假的QT...
1.使用configure配置QT时,如果写错了参数,无法重新配置,也无法用nmake confclean清除配置,只能重新解压源码再来一次(为了加上对XP的支持,解压了几十遍源码ORZ...)
2.尽管代码可以支持XP,但新版QT并没有XP的配置选项,本来可以简单的修改配置文件来支持XP,但是可能为了防止使用者修改配置在XP上运行,会在另一个配置文件把修改后的支持XP的参数改回去,简直太阴险了
3.编完后发现尼玛,居然没有自动编译文档(此处省略10086只草泥马...)
4.除了文档外,这个新版的QT也不会自动生成VS工程了,这也就算了,关键那个qt.pro是有问题的,手动转成vs工程会有些配置错误,可以用VS打开看代码,但并不能编译
5.把我最爱的QCleanlooksStyle删掉了,新的Style难看得要死,还会把界面搞错位,害我把之前的界面全部重调了一遍(此处继续省略10086只草泥马...)
6.渲染上有个坑,需要加上setAttribute(Qt::WA_NativeWindow),否则收不到paintEvent(QPaintEvent * event)回调,之前的版本是不需要的
7.QtDesigner还是原来的配方,该有的bug一个没少,新功能一个没多,难用的地方依然难用
8.在C++库这块新版QT并没加啥新功能,跟之前版本相比最大的变化是编译后大了好几G,闲的蛋疼的调整了include目录,将原来的一个lib拆分成n个,然而除了给使用者带来麻烦之外并没有什么卵用

posted @ 2017-01-25 21:59 剑孤寒 阅读(218) | 评论 (0)编辑 收藏

2016年11月6日

Update:
◆随机数添加创建生成器函数
◆随机数添加Mersenne Twister算法随机数生成函数
◆修改获得/失去焦点偶尔收不到回调的bug

下载地址 Galaxy2D Game Engine 4.2 开发版

posted @ 2016-11-06 23:23 剑孤寒 阅读(134) | 评论 (0)编辑 收藏

2016年3月17日

4.2 Update
◆添加文件打包工具
◆添加Input_GetKeyName()函数
◆音效模块添加GetPan()/GetVolume()/GetPitch()函数
◆TexturePacker添加命令行参数

下载地址 Galaxy2D Game Engine 4.2 开发版

posted @ 2016-03-17 17:59 剑孤寒 阅读(449) | 评论 (7)编辑 收藏

2015年11月8日

Update (2015-11-08)
◆ggeVector添加Sign()/Perpendicular()/Reflect()/ToReflect()函数
◆数学库添加ggeMatrix
◆添加2个示例程序


下载地址 Galaxy2D Game Engine 4.1 开发版

posted @ 2015-11-08 17:07 剑孤寒 阅读(252) | 评论 (3)编辑 收藏

2015年8月26日

Update (2015-8-26)
◆GUI添加子控件剪裁功能
◆RichTxt控件添加超链接功能


下载地址 Galaxy2D Game Engine 4.1 开发版

posted @ 2015-08-26 14:48 剑孤寒 阅读(215) | 评论 (4)编辑 收藏

2015年7月24日

Update (2015-7-24)
◆修改字体计算宽度时会多算一个字间距的BUG
◆修改GUI设置字体偏移后居中/右对齐文字位置不对的BUG
◆修改EditBox光标位置偏移问题
◆修改EditBox可以设置文字居中/右对齐
◆修改EditBox设置字间距后鼠标点击位置不对的BUG
◆EditBox添加密码输入模式函数SetPasswordMode()/IsPasswordMode()
◆ListBox可以通过设置行距来调整项目文字间距
◆修改某些特殊鼠标滚轮精度导致滚轮值错误的问题
◆修改GuiEditor行间距/字间距读取错误的BUG


下载地址 Galaxy2D Game Engine 4.1 开发版

posted @ 2015-07-24 21:45 剑孤寒 阅读(155) | 评论 (0)编辑 收藏

2015年6月11日

Update (2015-6-10)
◆ggeGuiManager添加Clear()函数,用来清除所有窗口
◆ggeGuiEditBox添加鼠标点击选择输入位置功能
◆修改GGE_TITLE系统状态可以在运行时更改
◆ggeVector添加LengthSquared()函数
◆切换渲染目标时不重置变换矩阵
◆ggeVector一些函数的参数和返回值修改为引用形式,添加AngleTo()函数
◆ggeRect的Intersect()函数参数修改为引用
◆Shader_SetCurrentShader()/Shader_GetCurrentShader()改成Graph_SetCurrentShader()/Graph_GetCurrentShader()
◆修改ggeSprite调用设置纹理区域等函数后刷新顶点坐标
◆数学库添加ggeVector3/ggeMatrix4
◆添加Graph_SetProjectionMatrix()/Graph_GetProjectionMatrix()/Graph_SetViewMatrix()/Graph_GetViewMatrix()函数
◆修改设置GGE_ZBUFFER后立即生效,而不是等到下一帧才生效
◆添加GGE_CODEPAGE用于设置代码页
◆GUIEditor添加控件位置和尺寸回退功能

下载地址 Galaxy2D Game Engine 4.1 开发版

posted @ 2015-06-11 08:31 剑孤寒 阅读(195) | 评论 (4)编辑 收藏

2014年9月21日

     摘要: Update (2014-9-21) :
◆ggeParticleInfo添加rotToDir参数
◆添加多种扩展Alpha混合方式(ALPHA_BLEND_MODE),可以与BLEND_MODE组合使用
◆添加GenAlphaBlendModeArg()/GenAlphaChannelBlendModeArg()函数用于生成Alpha混合模式参数和Alpha通道混合模式参数
◆添加GGE_MAXTEXTUREUNIT系统状态用于获取显卡支持的最大纹理单元数
◆添加GGE_ALPHARENDERTARGET系统状态用于检测显卡是否支持创建带Alpha通道的渲染目标纹理
◆删除ggeResManager::GarbageCollect()函数,添加 ResManager_GarbageCollect()函数
◆ggeXmlNode添加SetCData()/IsCData()函数

  阅读全文

posted @ 2014-09-21 12:01 剑孤寒 阅读(753) | 评论 (10)编辑 收藏

2014年8月8日

     摘要: 写了个xls转换成lua表的工具,只有一个exe文件,绿色免费无公害^_^
用法:
xls2lua.exe xlsfile luafile [-n] [-i]
xlsfile:要转换的xls文件名
luafile:转换后的lua文件名
-n:可选参数,当xls文件有修改时才转换
-i:可选参数,xls表单第一列作为lua表的索引  阅读全文

posted @ 2014-08-08 18:43 剑孤寒 阅读(472) | 评论 (0)编辑 收藏