2dfm吧 关注:2,095贴子:39,626
  • 7回复贴,共1

【教程】2dfm 中的一些基本问题汇总

取消只看楼主收藏回复

1


1楼2013-10-29 02:24回复


    2楼2013-10-29 02:37
    收起回复
      【需要使用什么文件格式的图片素材?如何获取?】
      256铯bmp格式,其他格式不支持
      从网络上下载素材,或者自己用绘图软件绘制素材,或者用街机游戏模拟器截图功能截取素材后,使用win画图另存为256bmp格式即可,但可能会损失关键颜色
      推荐用PhotoShop等专业图片软件减色存为256bmp格式,或者我推荐你用这个软件(2dfm原厂商开发的配套绘图软件):
      http://pan.baidu.com/s/1d20Oz
      用这个软件打开你的图片时,它会自动进行合理减色,效果很好而且很方便,支持批量图片一起减色,减色后选择保存,将会自动存储为256bmp格式
      【图片素材的尺寸规格如何?】
      2dfm需要使用图像素材的领域如下:
      系统图像(血条和计时器等)
      场景(战斗场景)
      影片(游戏片头、游戏标题、选人界面、续关界面、过场动画等)
      人物(包括气功和光效等)
      具体的规格为(横×纵):
      系统图像:没有特定规格,血条和计时器数字等只要大小合适即可
      场景和影片:背景用的图片至少是640x480,非背景图片没有特定规格
      人物:普通战斗中待机站立姿势身高在140~250像素为佳,宽度60~120为佳,太小或者太大的人物,不符合商业游戏的规范(也就是专业游戏设计者长期摸索出来的最佳的规范),很难做出高质量的游戏(具体原因不细说了,涉及的东西太多),如果你想做一款很另类而且不太在乎玩家感受的游戏,你可以不使用这类商业规范
      如果你手头的素材比较小,可以用图形编辑软件(例如PhotoShop)进行横纵等比例放大,例如kawaks模拟器截图的拳皇人物素材,横纵都放大到2倍就是最佳尺寸
      【动画的图片数以多少为佳?考虑到动画连续性】
      2dfm默认工作速率是10,相当于1.1秒播放100幅图,如果以这个速率播放动画,考虑到人眼的响应速率,推荐每1.1秒的动画使用至少10张图,少于20张图为佳,多于这个数量将更为流畅但也将更占存储资源(影响网络下载),少于这个数量画面将明显发卡
      【单张图片颜色以多少为佳?需要把256色都用上吗?】
      使用越多的颜色,游戏的容量将会越大,但这个并不需要太在意,比起音乐素材的容量,图形素材都是毛毛雨
      但精简颜色也有一些好处,比如设置人物的8套不同颜色服装时,会更轻松
      具体使用多少颜色完全取决于你自己的需求,如果你需要展示类似照片的实景,那通常就需要较多的颜色,否则颜色过渡将不流畅


      3楼2013-10-29 03:09
      收起回复


        4楼2013-10-29 03:11
        回复
          【如何制作招式动画?如何查看每个图号下的图形素材?】
          以普通站立招式为例,用鼠标右键菜单在“普通站立”招式脚本区添加一系列【图】脚本,每个【图】脚本调用不同图片(修改图号即可_调用_或_查看_不同图片),每个【图】设置不同停留时间(即这张图片在播放时停留多久,0为永久),即可形成本招式的动画
          对有至少一只脚站立在地面(或者身体着地或者手扶地)的动作图片,调整每个【图】的图片坐标(可以用鼠标左键按住图片拖动来调整,或者修改具体数值),将不同素材图片中同一支撑脚(或身体着地点或支撑手)位置对齐,这是个基本原则,但不适用于人物在空中的情况
          人物在空中时(例如跳跃招式),应该先确定人物起跳的最初动作(全身伸展,双脚刚刚离地)时人物重心(一般是腰部)的高度,并使其在人物自身坐标系的中轴上
          这样确定的重心位置就是所有空中招式的人物重心同一位置,所有空中招式的人物图形的重心都要与这个位置严格对齐(如此一来空翻的人物就会以重心为中心转动)
          【如何让人物移动?】
          人物的移动,其实就是人物坐标系(竖着的中轴和脚面接触的横轴组成的坐标系,两轴交点是原点)的移动
          给人物招式脚本中添加【移】脚本,设置x或y方向速度,即可让人物坐标系在横向(x)或纵向(y)移动,还可以设置加速度实现抛物线效果:
          y速度为负值,y加速度为正值
          2dfm默认人物面向右侧,所以x速度设置为正值,人物向右(前)走
          【如何让人物能被打伤?】
          打伤一个人物需要同时具备5个条件:
          1----人物有受伤区域(需要你在招式中添加并设置【防】来让这一招可以被敌人攻击)
          2----人物的受伤区域【防】有合适的大小和位置,且勾选“受伤属性”或“被抓属性”,如果这两个都没有勾选,就是“无敌”的
          3----攻击方的攻击招式有【攻】,且攻击区大小和位置合适,有非零攻击力,而且设定了合适的攻击属性
          4----攻击方的攻击招式有【敌】脚本的设置,设定了被攻击方处于6种可能状态时被攻击后将进入何种_受伤动作类型
          受伤动作类型_需要在游戏的“游戏系统”>“通用受攻击反应列表”中添加项目来设定,这里每添加一个项目,所有人物自己专用的“受攻击反应列表”中就会多出一个项目
          你需要给每个人物自己的“受攻击反应列表”中的每个_受伤类型项目_都设定一个对应的受伤招式(招式需要事先新建好并进行合适的命名,最好就是这个_受伤类型_的名字,否则你是自己找麻烦)
          否则如果某个_受伤类型_项目是空的(没有设置对应招式),人物被攻击时候如果需要跳转到这个受伤类型,系统就会找不到对应的招式和动画,就会使人物无法受伤
          5----事先制作好了对应于受伤类型的那个招式的动画,也就是说,被攻击方人物被攻击后将会进入的受伤动作招式有【图】脚本存在,否则将被视为没有受伤动画,于是人物不受伤(也不会掉血)
          【默认黑体字招式的制作要求是什么?】
          普通站立、蹲着:需要有动画和受伤区,无移动速度
          前进或后退:需要有动画和受伤区,前进的移动速度是x为正,后退的移动速度是x为负
          前上后跳跃:都需要有动画和伤区,向上移动的初速度和向下的加速度,前后跳跃还需要有x速度
          空中落下:有动画(跳跃时在空中向下落阶段的姿态)和伤区,【移】设置为“相加”,y速度=+1,其他项目留0
          下蹲:有动画即可,从站立到蹲下的过渡动作,没有移动
          从蹲着站起:从蹲着到站立的过渡动作,有动画即可,没有移动
          蹲着前进或后退:动画可以和蹲着一样,可以没有任何移动,当然也可以做成蹲着走
          站立或蹲着转身:改变面对方向的动画,请注意最后一幅图应该面对右侧,也就是说第一幅图是面对左侧的,有动画即可,没有移动
          按键防御:有动画和防区,防御动作即可(持续时间很短即可,跳跃防御也是如此),站立和蹲防御没有移动,跳防御需要设置【移】为“相加”,所有项目都是0
          开场亮相:类似站立的一个动作(无需移动),或者从运动到站立的动作(人物自身坐标系也没有移动,但修改人物图片的坐标来制造移动的假象,例如人物从场外跑到场地中站立的那个位置停下,纯粹是个靠图片位置设置的障眼法移动,人物本身坐标系从始至终原地没动),没有伤区
          胜利:没有伤区,类似“空中落下”的动画,设置向下的速度,并添加【招】判断“着地时”跳转去事前做好的另一个“站在地面上庆祝”的招式
          失败:一个被打飞的动画,设置移动模式为后退的抛物线(x速为负,y速为负,有y加速为正),并在动画下落阶段设定【招】判断“着地时”跳转去一个事先做好的“原地躺着”招式
          平局:只有动画没有伤区,可以没有移动
          角色海报:原地站立摆pose或者单纯一个大头照即可,没有移动,没有伤区
          血条旁头像:顾名思义,只有动画没有伤区,没有移动
          影子:可以留空,或者只有动画,伤区和移动都不需要I


          5楼2013-10-29 04:57
          收起回复
            【彩】
            长效脚本,在下一个【彩】之前所有【图】所定义的时间范围内有效,每隔停留时间1运行一次,当下一个【彩】开始运行时失效,新的【彩】生效
            各项数值可以用来调整颜色,最顶部选项:
            50%半透明:将【彩】之后的【图】使用的图片半透明显示,请注意:两张半透明图片重叠不会变成不透明,但透明度将降低
            明亮半透明:将【彩】之后的【图】使用的图片透明显示并加亮(图形原始颜色越深的部分透明度越高,透明度随着颜色深度自动调整),效果极好的光效功能!
            反色半透明:将【彩】之后的【图】使用的图片反色并半透明显示
            自定透明度:将【彩】之后的【图】使用的图片以游戏制作者设定的透明度显示
            【物】
            使用起来超有学问的脚本!
            瞬时脚本,在所在位置工作一次后失效
            调用一个招式项目的动画脚本来形成独立于人物本体的物体(例如飞镖、宠物或者光效、盔甲)
            被调用的招式项目的脚本决定了产生的物体的动画和性能(例如攻防性能和移动方式),而当该招式脚本全部执行结束时,物体自动消失(还有其他消失方式,见下文)
            基本概念:
            =========================
            1-----人物本体:游戏战斗模式中,能被玩家用指令输入控制,从而使出各种招式的图块,该图块通常用来制作人物,所以称为人物本体
            2dfm只允许“人物本体”直接受指令输入控制
            2-----物体:人物本体通过使出某一招,执行该招式中的【物】脚本而生成的图块,但这类图块不能受指令输入控制,例如人物扔出的一个盒子
            3-----子物体:由于物体是由【物】脚本调用某一个人物本体不使用的招式项目生成的,那么那个人物不使用的招式里,当然有一系列的脚本来定义物体的性能,例如我们前面说的人物扔出来的那个盒子
            如果定义这个盒子的招式的脚本里也有一个【物】,调用了另一个招式生成另一个物体,例如盒子里掉出来的小球,那么这个小球物体就是盒子物体所创建的子物体
            4-----父物体:创建子物体的物体,例如创建小球的盒子,叫做父物体
            如果小球里面飞出一只虫子,那么虫子是小球的子物体,小球是虫子的父物体
            5-----源(上级):如果人物本体发出物体,则人物本体叫做物体的源
            如果父物体发出子物体,则父物体叫做子物体的源
            总而言之,现在有一个物体,它的发出者就叫做它的源,或者叫它的上级
            源 的坐标系(无论是人物本体图块的坐标系,还是父物体图块的坐标系)叫做源坐标系或上极坐标系
            ==========================
            设置【物】脚本:
            1-----出现坐标:这里指的是被创建的物体在其源坐标系中的坐标,例如当盒子物体由人物本体创建时,这个坐标就是指盒子物体在人物图块自带的那个坐标系里的坐标
            如果你已经创建了人物的图形,可以看到2dfm工作界面右侧区域有这个图形,此外还有一个细十字直角坐标系,那就是人物本体的坐标系,而【物】所产生的物体则表示为一个粗线十字坐标系,粗线十字坐标系(物体自身的坐标系)原点(十字中心)在细线十字坐标系(人物本体坐标系)里的位置就是这里设置的坐标
            粗线十字坐标系(物体自身的坐标系)原点在细线十字坐标系(人物本体坐标系)原点右侧时,x坐标为正
            粗线十字坐标系(物体自身的坐标系)原点在细线十字坐标系(人物本体坐标系)原点下方时,y坐标为正
            2-----物体调用脚本:用来在脚本表中指定一个调用起始位置脚本,从这个脚本开始,将顺序执行后面的所有脚本,来定义这个物体的属性(动画、移动、攻防等)
            3-----与源同在:勾选后,物体自身的【移】脚本将无效,物体始终会随着 源 一同移动,如果 源 的脚本中含有【停】脚本,那么这个物体将和 源 同步暂停动画播放
            4-----无条件(无管理号)、管理号:“无条件”选项与“管理号”配合使用
            举例:
            【相同管理号取代】当人物扔出一个蓝色盒子,而我们规定了盒子物体的管理号是3,假定盒子可以一直存在(动画无限循环播放),而之后某一时刻人物又扔出一只红色盒子,管理号也是3,则红色盒子出现瞬间,蓝色盒子消失,即后出现的物体将会取代之前存在的与之相同管理号的物体
            【不同管理号并存】当人物扔出一个蓝色盒子,而我们规定了盒子物体的管理号是3,假定盒子可以一直存在,而之后某一时刻人物又扔出一只红色盒子,管理号是4,则红色盒子和蓝色盒子将同时分别存在,即不同管理号的物体并存
            【无条件并存】如果人物扔出蓝色的盒子被勾选“无条件”,管理号项目变灰,表示这个盒子物体没有管理号,那么无论之后扔出的红色盒子是什么管理号(也可以没有管理号),蓝色和红色盒子都能共存,换而言之,这个蓝盒子能和任何物体共存
            5-----显示影子:用来规定生成物体是否带有和人物一样的影子,例如如果创建的物体是人物的假身,勾选此项它就可以和真正的人物本体一样具有人物本体才有的影子
            6-----画面坐标:勾选此项将改变“1-----出现坐标”的坐标含义,默认含义是源坐标系坐标,但如果勾选本项,将变成画面坐标系坐标,即以游戏窗口左上角为原点的一个坐标系的坐标(向右x值从0递增到639,向下y坐标从0递增到479)
            可以用来在画面内某个指定位置创建物体(但物体的攻防属性和移动属性都将无效,通常用来创建浮空提示文字)
            7-----层次:用来指定物体显示的遮挡层次
            里:物体被源遮挡
            外:物体遮挡源
            指定:指定与整个游戏换面所有图形元素统一的遮挡层次顺序,具体数值如下:
            0~11的物体能被场景图层最内层所遮挡
            12~79能被人物本体遮挡,但能够遮挡人物身后的场景层
            80~99能遮挡人物本体,但会被人物身前的场景图层遮挡
            100~101能遮挡人物身前的场景图层,但会被系统图像遮挡
            102~127能遮挡系统图像
            8------已经存在:当物体已经存在,而人物尝试再次使用扔出物体的招式的时候,本项目设置人物是否能再次使出扔物体的招式
            如果使用默认的“没有设置”,则人物可以再次使用扔物体的招式
            如果指定了一个跳转目标,则人物将会使用目标脚本及其之后脚本所定义的招式,最常见的方式是跳转到与扔物体招式的攻击键指令相同的那个普通攻击招式去(来表明扔物体的招式出招失败)


            16楼2013-11-15 04:52
            回复
              【招】
              长效脚本,在下一个【招】之前所有【图】所定义的时间范围内有效,每隔停留时间2运行一次判断,当下一个【招】开始运行时重新判断是否继续有效:
              新的【招】与旧的【招】拥有不同条件分歧时,各自继续有效
              新的【招】与旧的【招】拥有相同条件分歧时,新的【招】生效,旧的【招】失效
              用途:用来判断某些特定条件并进行脚本跳转(最下面一行用于设置跳转目标,保留“没有设置”的时候可能导致故障,请慎用)
              分歧设置:设定要判断的条件和跳转目标脚本(在脚本表中的某个脚本方格),条件有:
              1---没有:不作任何判断,也不做跳转
              2---着地后:人物本体图块或物体图块的坐标系原点(十字交点)在场景坐标系中的坐标不小于919(即大于等于920)的时候,判断为“着地”
              3---攻击命中时:攻击命中这里指的是我方(人物本体或物体)的攻击区打中一个受伤属性区域(只要是敌人的就行,不管是敌人本体还是物体所带的伤区),优先级仅低于“攻击互抵”
              4---攻击被防御时:攻击被防御这里指的是我方(人物本体或物体)的攻击区打中敌人本体的受伤属性区域并导致其进入某个防御成功状态(我方打中敌人的物体时不会满足这个条件,因为物体没有防御成功状态),优先级仅低于“攻击互抵”
              5---碰到墙壁时:人物本体碰到画面边缘(而不是场景边界)时触发这个条件,物体不会触发这个条件
              6---攻击互抵时:敌我攻击区域有任何一部分重叠时都能触发这个条件成立,无论攻击区属于人物本体还是物体皆可,判断优先级高于所有其他判断
              7---击中被抓属性时:人物本体的攻击区与敌人本体的“被抓属性”伤区部分重叠时触发此判断(也就是说这个判断与物体一毛钱关系都没有,物体不能用这个判断),优先级仅低于“攻击互抵”,投技专用
              【注意】优先级指的是当多个拥有不同分歧设置的【招】并存时,哪一种条件优先判定成立
              【动】
              瞬时脚本,在所在位置工作一次后失效,只能被人物本体使用,物体使用无效
              用途:判断某些条件是否成立来进行跳转
              1--------条件设定:
              没有:无条件
              在地面上:人物本体坐标系原点y坐标不小于919时判定为在地面上(无论是否蹲着)
              站立时:人物在地面上,且不是处于蹲着的状态(所谓处于蹲着的状态,是指在自由站立状态时按下进入了蹲着的状态,然后维持该状态,例如打出一个蹲系攻击招式,此时即使已经松开下键,也被判断为蹲着)。由此可知,被打倒后,只要不是蹲着的时候被打倒,就默认倒地状态为站立,如果蹲着的时候被打倒,被视为蹲着状态(拳皇98中这两种状态的倒地的受伤区域是不同的!!)
              蹲着时:人物在地面上,且处于蹲着的状态(具体判定原则见前述)
              向前输入时:玩家正在按着“前”按钮的情况
              向后输入时:与上类似
              向上输入时:与上类似
              向下输入时:与上类似
              2--------跳转目标:
              成立时:前面判断的条件成立时才进行跳转
              不成立:前面判断的条件不成立时才进行跳转
              【注意】前面设置的判断条件为“没有”时:
              勾选“成立时”则本【动】脚本在任何条件下都不会进行脚本跳转,而是顺序执行后面的脚本
              勾选“不成立”则本【动】脚本等同于【跳】,任何条件下都会进行指定跳转
              ▲▲题外话▲▲【动】脚本的条件设定其实还有“方向键归中”和“松开攻击键”,可以通过修改2dfm的player文件的特定参量打开,但是无效,可能是待开发而未开放的功能,当然永远也不会开放了(此软件开发终止了),不能不说是一个遗憾


              18楼2013-11-15 09:24
              回复


                27楼2014-09-26 03:24
                回复