专属自己的二维游戏引擎【九】

  突然发现有个东西一直没有注意,挺搞笑的。

  居然发现还没有自己的声音模块,哈哈~

  OK,我们看看有什么是我们可以使用的:

  FMOD、Bass、SquallSound——好像这些都可以使用吧。

  当然Bass听说是收费,FMOD如果开发为商业使用也需要交纳100美元左右吧。

  当然钱不算多,只是有个最主要的问题是,跨国交费对于我们这些没有任何经验的人来说,简直就是一种最大的折磨。

  SquallSound咋样,哦,我讨厌任何时候带任何不需要的DLL,有这种怪癖的人会不会多?呵呵。

  总之,无论是免费的还是收费的,都需要带一个DLL,我很讨厌这样做。

  好吧,我自己来做声音模块总可以了吧。

  我想现在播放声音的软件不用DirectSound的估计不多吧。

  很多人一谈到DirectSound就谈虎色变,而且还把这种无知带给很多后来者。

  其实根本没有他们想象中的那么麻烦,对于习惯D3DAPI或者熟悉系统API开发的人来说,简直就不值一提。

  可见,那些说多么难学和需要多少时间的人其实还没有真正进入编程的大门,简直就是一傻B菜鸟。

  一天时间,多不多?

  其实还是多了点,没有法子,我的水平就这样,当然并不是一整天工作时间都用在编程方面

  显然,我们不需要3D效果,也不需要其它的各种特效处理,我估计没有几个玩家会像玩千千静音那样,老是去调整啥均衡器和啥经典啦啥啥。。

  哈,终于发现我喜欢的还是千千静音,原因也很简单,对于QQ来说,你只有交费给姓马才有可能得到比较好听的声音。否则得到都是垃圾并且会伤害耳朵的杂音。

  既可以使用硬件加速又可以很简单地集成到编程里面,最最主要还是不需要带啥DLL。

  其实直接使用API也可以开发出来,也很简单。

  说真的,网上的菜鸟真是多,一开始我搜索的时候也给这些菜鸟吓了一下,后来当我去看DirectSound的资料的时候,才发现比D3D编程要简单得多了去。最可怕的不是自己有多么的菜,而是还把自己的这种无知遍告天下。

  所以任何想开发自己声音模块的朋友,大可以采用DirectSound来开发。不会浪费你多少时间。

  资料呢,只需要通过输入DirectSound然后搜索就行。

  引擎方面到这里算整体架构完成,我没有写具体实现的东西,因为引擎不开源。

  好吧,我确实没有开源的精神。

  其实还是主要原因,因为我做的引擎主要是在商业方面进行开发,显然不能够公开具体的细节。

  但是我相信很多人能够明白我所说的那些想法。并且有很多人也很容易开发出自己的游戏绘图引擎。

  另外在这里说一下,网上还是有很多人不明白,D3D应该如何使一张不带透明通道的图片简单变成半透明状态,而且半透明等级随便可调。

  我搜索了一下,发现一些学习D3D编程的人,当然比我还牛的人也说不太清楚,有些还需要经过PS弄一张半透明状态的图片来代替。

  可我们知道,渲染的时候设置纹理对于系统来说是多么的吃力。

  能够画一个四边形,然后调整为半透明状态比调用一张图片来得实惠。  

  呵呵~

  其实基础的东西还是要吃透。

  我们知道每一个顶点除了顶点坐标和纹理之外,还可以带漫反射颜色,所谓的漫反射颜色值,指的是该顶点自己的固有色,就好像你自己的肤色一样。

  这个漫反射颜色格式是——【ARGB】,看到了吧,前面那个【A】,这个是阿尔法值,白话说是透明度。

  习惯上面我们喜欢把漫反射颜色设置为【$ffffffff】,也就是白色。而且因为前面的两个是FF,也就是没有任何透明度变化。

  你只需要改变一下这两个符号,或者改为数字也行,如果四个顶点都是一致的漫反射值,那么你就看到了:

  一张不带任何透明通道的图片,变成了半透明状态。或者一个四边形变成了半透明,很酷吧。

  D3D编程不需要以往那种需要通过底层的混合来达到很多很酷的效果,有的,往往只需要改变一些设置就好了,其它交给系统给你处理。

  

  还是老话,能够采用D3D处理的地方就采用原生的方法。

  就这样了。

  

  

原文地址:https://www.cnblogs.com/GameDelphi/p/2606288.html