摘要: 突然发现有个东西一直没有注意,挺搞笑的。 居然发现还没有自己的声音模块,哈哈~ OK,我们看看有什么是我们可以使用的: FMOD、Bass、SquallSound——好像这些都可以使用吧。 当然Bass听说是收费,FMOD如果开发为商业使用也需要交纳100美元左右吧。 当然钱不算多,只是有个最主要的问题是,跨国交费对于我们这些没有任何经验的人来说,简直就是一种最大的折磨。 SquallSound咋样,哦,我讨厌任何时候带任何不需要的DLL,有这种怪癖的人会不会多?呵呵。 总之,无论是免费的还是收费的,都需要带一个DLL,我很讨厌这样做。 好吧,我自己来做声音模块总可以了吧。... 阅读全文
posted @ 2012-07-24 13:25 一笑如风 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 经过一段时间的奋战,终于成功架构出一款针对二维游戏开发的D3D绘图引擎。 并且集成为一组控件安装到IDE上面,方便调用。 制作开发二维游戏可以完全告别DDRAW7和D3D8.0的时代。 其实还是要感谢HGE的作者,虽然我的代码结构只使用了很少HGE方面的东西,但是HGE不失作为一种很好的学习和参考资料。 其实早在采用Delphi开发之前,我就已经使用C++做过一些这方面的例子,说真的,如果没有最初的纯D3DAPI架设的经验。。 那么要成功架构出一款绘图引擎是不可能的。 就好像你要修改HGE那些代码结构一样,如果没有D3D的基础,显然是无法了解那些地方是需要修改一样。 这些不重... 阅读全文
posted @ 2012-07-21 19:05 一笑如风 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 也许我们应该开始分析一些代码结构问题了,而不是老是啰嗦无用的废话了。 先分析一下,在D3D里面我们应该如何地完美地裁剪纹理呢。 在GDI里面,我们可以采用矩形复制的方式从一张图片里面截取一部分需要的图片,这里需要有两个画布对象。 但是就像我以前说过的,既然已经采用D3DAPI来制作引擎,就应该尽量采用原生的D3D方式来解决问题。 我们先分析HGE的代码,它的代码操作很简单,但是很多地方又显得多余。constructor THGESprite.Create(const Texture: ITexture; const TexX, 纹理开始的X坐标位置,就是截取开始的地方的坐标... 阅读全文
posted @ 2012-07-15 15:13 一笑如风 阅读(702) 评论(0) 推荐(0) 编辑
摘要: GUI部分已经完成了几个控件。 GUI控件在设计期完全可视化设计,同时添加了一个属性用于在设计期就可以控制该控件显示和隐藏,避免窗体上面太多的控件影响设计。 听朋友说,设计期可视化会把界面图片信息保存到窗体Dfm里面,会被反编译看到这些信息。 后来考虑了一下,调整了一下代码结构。 在设计期的界面信息调用的是随便定义的图片文件包路径,比如D、E、F或者某个硬盘里面的文件路径。 就算通过反编译也只能够看到这些包含绝对路径的文件信息而已。 而运行后肯定读取客户端数据包所在的数据路径,读取的文件名称和索引值等肯定不同。这样就区分开来了。 其实有没有必要这样做????????? 其实... 阅读全文
posted @ 2012-07-13 14:44 一笑如风 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 这一节到了GUI部分。 采用继承Delphi控件祖类的方式来创建GUI控件相对来说还是比较便利的。 现在因为是直接在默认的From上面绘图,所以也可以调用IDE里面的控件。 但是我们需要绘制的是PS好的图片作为GUI的外观,显然就需要自定义自己的控件类型。 说到这方面,大家都清楚,字体绘制永远是一种难言的伤痛。 中文毕竟不是英文,直到目前,很难找到一种不影响游戏性能的中文显示解决方案。 但是我觉得不管你怎么操作,实际上,游戏绘制的永远是图片。 于是,是不是可以这样操作: 角色和怪物的名称文字采用已经制作好的常用字体图片文件来绘制,这样不会影响游戏性能。 GUI控件的字体直... 阅读全文
posted @ 2012-07-04 19:26 一笑如风 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 龙——天龙、司雨。 宅于天下之深潭之中,而天下最深之潭处莫过于四海。 曾几何时,古之中华已将龙作为民族的图腾,龙之子便是如此来的。 何时,魔扰大地,随之天下大乱,人魔不分,随处可见骨骸、战争。 此时、要生存、唯战之。 此时、要开创、唯战之。 史记、再不仅仅是记载某个王朝的历史。它是—— 每一个龙之子的去寻找答案的历程、同时也是修炼道路的载记。 龙——前身非为龙也,生非龙、由千年炼化而成。 故人生于普通、而经修炼和在不断的战斗中提高自身之强悍。 在战火中而生的龙之子,为了寻求人生的答案而踩上征程。开创一代英豪的史记!!!! 征程! 为谁而战? 为何而战? 征服谁?... 阅读全文
posted @ 2012-07-02 21:13 一笑如风 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 引擎应该包含这样的模块结构: 底层的绘图模块,关于这个,我是这样理解的: 合理的做法应该是:绘图模块只需要负责把表现的图元和纹理绘制出来就好。而不需要关心逻辑方面的处理。 比如:什么时候画,画那部分,画在那里等等,这里应该留给应用层来管理。 就是说,应用层什么时候给绘图底层填充数据,传入什么坐标参数,纹理宽高参数等,这个时候渲染就按照给定的定时器的速率一直在渲染渲染。 数据更新了,渲染新的数据,否则在一定的速率上面渲染旧的数据。旧的数据在显示内存里面,只需要占用很少的CPU时间片来渲染缓存并显示。 我看了一些人的做法是逻辑跟底层绘图彼此纠葛在一起,使得引擎结构相当复杂,其实个人... 阅读全文
posted @ 2012-07-02 14:27 一笑如风 阅读(1138) 评论(1) 推荐(0) 编辑
摘要: 引擎跑起来很关键,初步架构成功! 目前还是采用非可视化控件设计,这样方便调整测试代码。有个打算弄成像Delphi_X那样可以在Form上面拉出一个可视化的窗体。 这样其实就可以替代IDE带的那个Image控件,完全可以应用D3D9的硬件加速来制作应用了。只是这样应用于游戏的话,效率未知。 接下来需要处理 Alpha混合测试,这个很重要,游戏特效等离不开; 碰撞、目标选择等。 阅读全文
posted @ 2012-06-29 18:13 一笑如风 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 我给客户制作美术素材从来没有崩溃过,最近给一个客户制作二维游戏素材的时候就直接崩溃了。 次时代模型的流程虽然麻烦,但是我还没有见过比它更麻烦千倍的东西,这次算是见识了。 韩国的泡菜确实比较不太好吃。你懂的,哈哈~~拜拜。 我喜欢Delphi编程,很多人认为它很容易学,事实上,真正要精通它,不会比学习C++要轻松几何。 很多说Delphi不好的人,因为这些人学习Delphi达到一个瓶颈后就放弃了。这些很正常,不值得我们去探讨的。萝卜青菜各有所爱。 我不喜欢C++,虽然最早学习的是C++。如果我不接触Delphi,那么现在使用的绝对是C++。但是我还是愿意去学习它。 任何人做任何事... 阅读全文
posted @ 2012-06-28 15:10 一笑如风 阅读(2885) 评论(0) 推荐(0) 编辑
摘要: 【个人想法:20120628】 显然大家都有自己的梦想,我的梦想就简单了,做专属自己的游戏。 于是问题来了,我们需要一个游戏引擎。一个自己熟悉运行原理和过程的程序模块。 也许很多人都会问,现在啥时代了,还二维游戏。是的,现在正是二维游戏成熟期。 我不喜欢现在网上的任何三维网络游戏,因为那些东西根本就不成熟。 也许你要问,现在难道不是三维游戏的成熟期吗,是的,的确不是,这些所谓的三维技术根本不成熟。 次时代技术展现不错啊,的确不错,但是当你亲身去体念一下次时代模型和动作等制作流程后,你会说:是的,这些东西很垃圾! 但是这些东西你是无法跟很多人说的,因为他们没有这种亲身经历。 ... 阅读全文
posted @ 2012-06-28 13:58 一笑如风 阅读(1612) 评论(0) 推荐(0) 编辑