易语言吧 关注:266,318贴子:1,662,965

【原创干货】[缓更]D2D游戏开发教程

只看楼主收藏回复

前言:我在学习D2D过程中,发现很多教程没有详细的解释给新手一些问题和代码不完整情况非常多,而且大多数教程已经非常久远,于是,自大的我打算把自己的一些学习中的小经验打出来,来完善前辈们留下的教程遗憾,我也不是什么大神,只是一个新手,还各位吧友指出缺点,共同学习。
游戏素材归原游戏版权所有,侵权请联系本人


IP属地:陕西1楼2017-10-14 15:22回复
    备用


    IP属地:陕西2楼2017-10-14 15:22
    收起回复
      备用楼


      IP属地:陕西3楼2017-10-14 15:22
      回复
        继续备用


        IP属地:陕西4楼2017-10-14 15:22
        回复
          第一课:配置好D2D开放环境和创建游戏窗口和背景
          前言:
          D2D即易语言的一个游戏引擎,所谓的开发环境,那便是,你的游戏在这个引擎下可以运行所依赖的东西,要在开发完毕整理文件的时候,把那些Dll放置到正确的目录,D2D目前只有3个DLL:D2D.dll、bass.dll、ScriptManager
          开发环境在二楼查收链接
          首先,把开发环境配置好。新建文件夹,新建易程序,把所用的DLL拖进文件夹里即可(模块不拖也行。)。如图1

          双击打开易语言,点击程序,双击模块引用,找到你板块存放的地方,打开。如图2

          然后找到启动窗口,右键删除。如图3

          点击插入-程序集。如图4

          添加一个新的程序集,命名为 你要起的名字。(我这里用 我的游戏)
          然后添加一个子程序,命名为 _启动子程序
          再添加一个子程序,命名为 游戏启动 。在游戏启动子程序下,添加一个变量 命名为 屏幕,类型 D2D_屏幕
          如图5

          然后再添加一个子程序,命名为 逻辑
          然后让我们在 游戏启动 子程序中来把屏幕变量的所有属性都赋值一次。
          (代码我就不复制发出来了,我觉得让你们手打一次记忆可以加深一点。实在不行,源码什么的在二楼查收链接)
          如图6

          这里说一下FPS。
          这在游戏中是个非常重要的词,FPS代表着一个游戏在一秒内可以播放多少帧(游戏的种种元素都是由图片元素“播放出来的”),这个值越高,则游戏的效果越好,我们输入-1则表示自动帧率,在游戏中经常变化的帧率,根据电脑的配置来尽可能的最大化这个值。
          其他没有备注的以后用到再解释。
          再让我们Ctrl+G创建一个全局变量,命名为 引擎 类型为D2D引擎。
          如图7

          再科普一下。
          游戏中的种种元素,无论是一个背景图片,一个音乐,和一个角色,我们都是可以把他们看作一个“对象”
          D2D自带的对象步揍一般分为
          1创建、2.更新、3.显示、4、销毁
          了解完这个,让我们试着来做一下。


          IP属地:陕西5楼2017-10-14 15:25
          回复
            *本节实用例子——背景创建。
            在 游戏启动 子程序下 写入代码,如图8

            好了,然后我们再创建一个子程序 命名为 渲染
            然后在 游戏启动 子程序下写入代码
            如图9

            渲染函数的字面意思来理解,他就是控制游戏的显示的,那么我们需要添加三个这样的命令,开始、清屏、结束。
            开始就是告诉引擎,渲染要开始了,清屏就是清理上一帧的屏幕内容,渲染结束放到最后。
            在 渲染 子程序中写入代码。
            如图10

            写完就可以按F5看看效果了(这样就创建了一个黑乎乎的窗口。)
            如图11

            整个游戏粗略的框架就搭好了,现在我们需要给他显示一张背景。(素材二楼自拿)
            我们建立两个这样的程序集变量,如图12

            然后点击程序-资源表-图片或图片组
            添加一张图片,作为背景图
            如图13

            这里我们来说一下,为什么用图片资源表来载入背景呢,因为你把图片放在你的电脑内,别人的电脑是没有你这张图片的,当然你也可以放在游戏目录下。
            回到 我的游戏 程序集 ,在游戏启动 子程序下写入代码,再添加一个程序集变量。如图14,15

            从参数大家可以得知,我们创建一个精灵,就要指定所加载的图片,这个图片在他销毁之前,所有的精灵对象都可以通过他来创建。一个UI素材或图标素材,他们在加载图片的时候,加载的是整个的图片,比如说我们可以创建一个专门用于显示技能的图标,只需要指定其坐标和宽高属性,获得他某一局域的纹理即可。
            创建完之后呢,我们还要把这个精灵显示到屏幕,怎么做呢?
            就是给渲染函数里添加命令,在清屏后面放置这个代码,其中的参数可以不写,不写的话,默认是xy坐标均为0
            如图16

            让我们按下F5看看成果吧。
            如图17

            这就是这节课的内容。学习完记得保存一下源码。


            IP属地:陕西6楼2017-10-14 15:28
            回复
              dd


              IP属地:陕西7楼2017-10-14 15:32
              回复
                第一课都完了,没人,好尴尬


                IP属地:陕西8楼2017-10-14 15:36
                收起回复
                  可以


                  IP属地:四川来自Android客户端10楼2017-10-14 15:40
                  收起回复


                    IP属地:广西来自Android客户端11楼2017-10-14 16:02
                    收起回复
                      建议用ey2d


                      IP属地:广西来自Android客户端12楼2017-10-14 16:02
                      收起回复
                        dd


                        IP属地:陕西13楼2017-10-14 19:32
                        回复
                          最好有视频教程,图文感觉代入感不好,毕竟是游戏


                          IP属地:浙江14楼2017-10-15 00:15
                          收起回复
                            dd


                            IP属地:吉林来自Android客户端16楼2017-10-15 06:38
                            收起回复
                              路过帮顶


                              IP属地:北京来自Android客户端17楼2017-10-15 10:24
                              收起回复