mugen游戏制作学院吧 关注:625贴子:834

人物制作(基础)

只看楼主收藏回复

导言
How Do I...?  A  M.U.G.E.N primer
=================================
M.U.G.E.N, Elecbyte ©1999

Beta-release documentation (incomplete)
Updated 11 Aug 99



1. 我该如何作一个人物?
在 chars 资料夹下为你的人物作一个新的资料夹,这里用的例子,把他叫做 "Player",(你可把 "player" 改成任何你想要的名称
把 sprmaker 与其他工具放在含 mugen.exe 的资料夹下

2. 人物需要那些档案呢?
你需要下列档案在你人物的资料夹内(这个例子里就是 chars/player 的资料夹):
player.air
player.cmd
player.cns
player.def
player.sff
player.snd

3. 我要怎麼作这些档案?
You can make them all from scratch... ,或著你可以在我们的网站下载 PLAYER ,并拷贝 PLAYER 的档案,从这里开始来制作
解开 PLAYER 到你的 M.U.G.E.N 资料夹内,会出现两个资料夹:(这些都是无用的废话)
  chars/player
  work/player
当然,你很可能需要在我们的网站下载 KFM ,他是一个很好的范例

4. OK,我作好资料夹 Player 了,现在该如何?

第一件你要作的事是作出 player.sff 档,现在我们只要专心作站立及走动的动作就好,如果你已经有了你要用的图片,把他们都整理好(像是把不要的颜色弄掉,找好x轴y轴...),让我们把你要用来作站立动作的图片叫成 stand1.pcx * stand5.pcx 并把他们放在 work/player 资料夹内,现在,在 work/player 资料夹内作一个 text 档叫做 player.txt (当然你可以改成任何你要的名称),下面就是这个text档的开始部份...(分号;後
面的都会被电脑忽略,你可用;来帮助你记忆)

; 选项
#
; 调色盘
1
; 共享色盘
2
; 别改变上面的选项
; 档名:
; 这是 sprmaker 作出的档案路径与名称
chars\player\player.sff
;----------------
work\player\stand1.pcx   
; 图片档名
0
; group 号码
0
; 图片编号,这是用在 air 档的编号
17
105
; X 轴与 Y 轴,把这改成你自己图片的X 轴与 Y 轴
work\player\stand2.pcx
0
1
17
105
work\player\stand3.pcx
0
2
17
105
work\player\stand4.pcx
0
3
17
105
work\player\stand5.pcx
0
4
17
105
; 档案结束

Group 编号 0 是用在站立动作的,在 spr.txt 你可找到 group 编号,图片编号只是用来区别在 group 里面的第几张图片(就是把图分门别类,找起来比较方便),你必须自己找到你图片
的 X 轴与 Y 轴,以站立动作来说,通常在图片底部

当你把 player.txt 写好後(一次不要加太多动作,否则若有错误会找死你,几百张图还有字跟本不知道那边有问题),进到DOS并进到你放 mugen.exe 与 sprmaker.exe 的资料夹,打下列的指令来作 player.sff :
sprmaker < work\player\player.txt(要空格,路径则照你自己的)
如果出现错误讯息或 player.sff 没有作出来,检查你的 player.txt 有无错误(X 轴与 Y 轴超出图片也会有错)

5. 我作好了 sff 档,现在该如何?

Ok, player.sff 作好了,你可以开始制作 player.air 并加入站立的动作了

现在是作 player.air 的时候了,记住, air 的格式是
Group 编号,图片编号, X 位移, Y 位移,播放时间(以游戏时间game-tick为单位,下面会解释),选项
现在你还不用去理 Clsn2 和 Clsn2Default 是啥

; 站立动作
[Begin Action 000]   ;Action 000 是站立动作
Clsn2Default: 2
 Clsn2[0] = -10,  0, 10,-79
 Clsn2[1] =  -4,-92,  6,-79
0,3, 0,0, 7  
;上面这行是说, group 0 里的 3 号图片播放 7 个游戏时间game-tick.  1 个游戏时间game-tick 等於 1/60 秒, 所以 60 个游戏时间等於 1 秒, 而 Group 0 的图片 3 是 stand4.pcx(看上面可知)
0,2, 0,0, 7
0,1, 0,0, 7
0,0, 0,0, 7
0,1, 0,0, 7
0,2, 0,0, 7
0,3, 0,0, 7
0,4, 0,0, 7
;档案结束

现在,储存这个档案,而你可以来看看你的人物了!

6. 检查人物动作
如果所有的档案都在正确的地方,你可以直接用mugen叫出你的人物,只要打
mugen player player
(要空格)(如果不行,随便从一个人物那拷贝其他档过来,像cns,cmd...)

这是对战模式的捷径(叫出其他人物来对打,测试挨揍动作时很重要)

=============================================================
原文来源:www.elecbyte.com
翻译:iema
站台:iema.spedia.net
====================



1楼2006-06-14 19:32回复
    关於juggle
    就是全勋空中2+脚类似"蜻蜓点水"那招
    点到後可否再点一次~??
    这要如何社?? 

     Re: 无题 OooOO - 2001/02/08(Thu) 10:46 No.3006 
     
     您那招的juggle值设多少,角色的基本juggle都有15左右,
    假设您设定为8,8+8大於15=不能贰连击,juggle值会随著攻击消耗,
    就是说15里面,juggle值2的可打7次,3的可打5次,
    当剩馀juggle值小於攻击所需juggle值,
    那攻击就打不到.


    2楼2006-06-14 19:32
    回复
      2025-05-22 00:47:20
      广告
      调整招式的攻击力
      MUGEN的人物要怎样调整招式的攻击力啊?
       
       
       调[单招]的攻击力

      [State 310, 3]
      type = HitDef ; 攻击定义
      trigger1 = AnimElem = 3 ; 第3个动作,因为Clsn1在那
      attr = S, NA ; Standing, Normal Attack (站立,正常攻击)
      animtype = Hard ; 等级: Light轻 Medium中 Hard重 Back後退 ; 击中得Power
      getpower = 20 ; 击中给敌人Power
      givepower = 20 
      damage = 40 ; 被击人损伤 Life-40
      guardflag = MA ;防御方式: 站立MA 蹲下L 空击HA
      hitflag = MAF ; 攻击方式: 站立MAF 蹲下MAFD
      pausetime = 11,11 ; 击中时停止时间 自己,敌人
      sparkno = 0,5 ; 攻击点的样式 0,0 到 0,7 自己试试
      sparkxy = -10,-65 ; 攻击点的位置 X轴,Y轴 (X轴是敌人的)
      hitsound = 5,3 ; 攻击击中声音 5,0 到 5,4
      guardsound = 6,0 ; 敌人防御声音 通当是 6,0
      ground.type = Low ; 效应: Low正常 High抛高 Trip击倒
      ground.slidetime = 12 ; 敌人向後滑後时间
      ground.hittime = 5 ; 敌人受击状态时间
      ground.velocity = -5 ; 敌人在地被击後退距离
      guard.velocity = -5 ; 敌人在地防御後退距离
      air.velocity = -5,-1 ; 敌人在空被击後退抛高距离
      airguard.velocity = -5,-1 ; 敌人在空防御後退抛高距离


      3楼2006-06-14 19:33
      回复

        关於轴的设置

        不当或不正确的轴心设定是一个常见的问题,这会让人物的动画看起来不连贯,在基本动作中最常见,而原因很可能是出在抓图技巧上

        谈到抓图,最容易抓就是在人物不动的时候(指没有任何上下左右的位移),像是站立,蹲下,出拳脚等等

        在这情形下,你只要抓下每一张图就可,记得数每张图出现的时间并记下来,时间是以tick计,每tick是六十分之一秒,就是neoragex按一次next,当然若是用别的模拟器就比较难算了

        在抓有"x位移",就是"横向位移"动作,例如走动,跑,甚至旋风腿等等

        教你一个简单的方法,就是让人物保持在画面的边缘,这样人物看起来就是不动的了,像是人物前冲时,就让他冲到最右边(当然是人物面向右边),向後退就退到最左边,这样抓出来你的动画就会很完美了

        也许你会问,我的人物在画面边缘时,有些部份被挡住了,要怎麼办?很简单,你只要抓一个没被挡住的图,再贴过去就好了

        还有个小技巧,就是同个动画内的图,最好大小一样,这样你就可以直接把所有图叠起来,不用重新找轴,不过这会让你的sff变大就是了

        要让你的图或动画达到完美的境界,你需要一张"基本参考图",这样其他的图片可以它为基础来对正

        最好的参考图是站立跟蹲姿的第一张图,因为每个站立或蹲下的动作,在最後都会变成站立或蹲姿的第一张图

        抓图及制作步奏:

        首先,把人物站立图的"x轴"设在你人物大概中心的位置,因为你其他的图都会以这张图作参考,若这张图设错了,其他的也就都错了,而人物的中心并不一定代表"整张图"的中心

        接著要抓图了,以站立轻拳为例,抓下这动作内的每张图,并记下每张图的显示时间,等下要写到air里用,另外在动作结束後,把最後出现的那张站姿图也抓下

        把所有的图都转成pcx(可用acdsee),并都转成256色(kaku有教),做好其他制作sff所需的预备工作,记得把最後抓到的那张站姿图当成此动作的一部份,一样做好准备工作

        在下来就是要合成sff档了,将那张参考用站立图的轴心,用个显眼的颜色标出来,不过不要储存,然後复制,把它"透明贴上"(transparent-past,我不知道这是什麼,照翻)到你最後抓的那张站姿图,这两张图应该完全重合,以那标出的轴心为参考,这样你就能找出其他图的轴心了

        最後这一步奏,应该是一步一步,教一个完全不懂的人如何找轴,简单的说,就是先把最基本的那张站立图的轴心设好,再把它贴到另一张站姿图上,因为很可能你接下来抓的图,大小及位置都不同,而最後那张站立图是跟其他图一起抓的,根据上面的教学,它们应该要有相同的轴心,这样你就可以用刚才贴过来的轴心,找到其他图的轴心了,之後你就可以把图片切小,或作各种调整都没问题了

        希望这可以让你的人物看起来更正确



        原作:santana
         mr_santana@hotmail.com
         members.fortunecity.es/shaolinroad
        翻译:cch(一般人认识iema这称呼比较多)
         mameix@yahoo.com
         www.geocities.com/iemay.geo
        备注:最後我自己加了一段说明,还有我翻译的很可能有问题或不正确,欢迎大家指正,以下为原文



        About axis placement

        A commonly seen mistake is poor axis placement. This causes abrupt animation transitions in the character, being the most noticeable in its basic movements, such as walking, running, getting hit, crouching or performing basic attacks. The root of the problem can be related to ripping techniques.

        Speaking about the ripping, you should think carefully how you are going to do it. The easiest ripping scenario is when the char is still, for example, standing, punching, kicking, crouching, etc. so all you have to do is take a screenshot of every frame, count the ticks between frames and write them down in a paper (in NeoRageX, ripping from other sources will surely more complicated). For moves where the char is not still but only moves in the "x" dimension, for instance, walking, running, retreating, performing a hurricane kick, etc. make your life easier by placing him at the edge of the stage that makes him look still (for example, when he runs to the right, at the right edge, when he retreats to the left, to the left, etc.), so you make sure you get the animation perfect. If the char gets "cut" by the screen edge don't worry and proceed, and then move him to the centre, rip the complete frames and paste them into the "cut" ones. An advice (maybe obvious, sorry), try to make all the sprites of an animation the same size, so you only have to calculate the axis coordinates once, applying them to all the frames in the animation.
        


        4楼2006-06-14 19:33
        回复

          But to make your axis placement perfect you need a "reference frame", so the rest of frames will have their axis adjusted to it. Perfect reference frames are the first standing and first crouching frame, because every standing or crouching move will play them when it's finished. So if you wanna give it a try, do this:

          First of all, move the standing axis "x" coordinate to your char's approximated centre (this must be correct because the rest of frames are going to be referred to it, so if it's axis is wrong, every frame's axis will be wrong). By saying the char's centre I don't mean the sprite's centre necessarily.
          Then, to rip, say, your char's standing weak punch, do this: take a screenshot of every frame in the animation, counting the game ticks elapsed between them and writing them down to make the .air later, and when the animation is finished, take a screenshot of the first standing frame as well.
          Convert the frames to .pcx, crop them, apply them the 256 palette, do all the stuff needed to prepare the frames for packing (with sprmaker). Treat the extra standing frame as if it were part of the animation (convert it, crop it, etc. etc.).
          And when it is time to update the text file with the info (file name, axis coordinates, etc) to "sprmake" them, do this: take the first standing frame (not the one you just ripped, I mean the real one, the "reference", with the correct axis coordinates) and mark the pixel where its axis would be with a vivid color (but don't save the file). Then copy it and transparent-paste it into the standing frame you just ripped (they should overlap perfectly). The coordinates where the mark is will be the perfect coordinates for the frame referred to the reference one. Then apply these coordinates to all the frames in the animation (if they are the same size, if not, make the appropriate changes) and you can delete the extra standing frame. 

          I hope this help you to make your chars appear more solid ^_~.


          5楼2006-06-14 19:33
          回复
            type类型
            SCA(分别是站立,蹲下,空中), 
            AA(所有攻击), 
            AT(所有投技),
            AP(所有飞行道具),
            NA(normal攻击), 
            SA(special攻击), 
            HA(hyper攻击), 
            NT(normal投技), 
            ST(special投技), 
            HT(hyper投技),
            NP(normal飞行道具), 
            SP(special飞行道具), 
            HP(hyper飞行道具)


            6楼2006-06-14 19:33
            回复
              气血条和时间表消失

              在开场ROUND字眼出现时气血条和时间表都会消失,然後再FIGHT字眼出现
              ,也就是开打时气血条和时间才会出现,请问是如何改的,要如何ROUND出
              现到FIGHT结束前,也就是说在角色的开场动作这段时间,要如何让所有除
              了角色和背景外的东



              [state -2, XX]
              type = assertspecial
              trigger1 = roundno = 1
              trigger1 = roundstate < 2
              flag = NoBarDisplay ;(看英文也知道是什麼语法)
              这个东西便是消除血量计显示的语法
              由assertspecial来宣告NoBarDisplay
              而trigger看要怎麼设
              roundno是回合数
              roundstate是回合状态:
              0: Pre-intro - screen fades in
              1: Intro
              2: Fight - players do battle
              3: Pre-over - just a round is won or lost
              4: Over - win poses
              0是画面刚出现的时候
              1是角色开场动作时
              2是战斗时
              3是战斗结束时(不管输还是赢)
              4就是角色胜利动作时
              roundstate设为 < 2就代表开打前完全不会有血量计显示
              trigger可以多设几个,来达到想表现的效果
              trigger1和trigger2条件设得好的话,不会互相影响
              这个语法通常都是摆在人物statedef -2或是-3底下
              这样不但是即时处理,也能作较细微的设定

              ID 有很多种: 
              proj, explod, helper 的 id 用法相同, 用在 numexplod(xxx) 中, 
              可以特定某 id 的 explod, helper...的数量. 
              helper 的更可以 helper(xxx),vel x 的方法取得某 helper 的不同参数 trigger. 

              timemod = a,b 就是 time 除 a 後, 馀数符合 b 的条件. 如: 
              timemode = 2,0 就是 time/2 的馀数是 0. b 可以是一条数式或不等式. 如: 
              timemode = 4,>0 

              persistent 这东西在常驻 state 中好像没效. 用例子说明: 
              persistent = 4 代表 上面的 trigger 每成 4次就做一次. 
              type = explod 
              trigger1 = time >= 0 
              persistent = 4 
              ... 
              time 0,4,8...会放出 explod

              看一下 cns.txt, persistent 是 0 时, 该 controller 只会执行一次. 
              引用例子: 
              [State 310, 1] 
              type = PosAdd 
              trigger1 = Vel Y > 1 
              persistent = 0 ;<-- Added this line 
              x = 10 

              就算 vel y 长期保持大过 1, pos x 都只会加一次.


              7楼2006-06-14 19:34
              回复
                基本常识

                Air Cmd Cns

                一个完整的 Mugen 人物,应包括下列七种档案 ( player 表示 角色的名称 )

                ========================================================================

                player.def 指向档,由其内容可知此角色的一般资讯

                player.sff 图形档,将角色的图档汇整成一个压缩档,用 MCM 来编辑

                player.air 动作档,将角色的动作规化,并给予一个编号

                 判定档,角色的攻防判定,用 Airedit 来编辑

                player.cmd 指令档,角色的指令定义,以及可输入的状态

                player.cns 状态档,内有很多常数设定,及状态编号的设定,为角色的精华所在

                player.act 色彩档,专司色彩变化

                player.snd 声音档,角色的声音

                ========================================================================

                名词解释

                ***动作编号***

                意指播放的图档动作, 在 Air 档中设定,程式中用 anim = 动作编号

                一个动作编号通常是一个招式的部份或全部的动作

                 

                ***状态编号***

                意指角色所处的状态, 在 Cns 档中设定,程式中用 stateno = 状态编号

                一个状态编号通常是一个招式的部份或全部

                 

                ***预设值***

                在程式中有许多的参数要设,有一些参数有预设的值,

                亦即如果此参数你没有设的话,程式将假定你是要设成预设值

                本文件将以绿色文字来表示预设值

                ========================================================================


                Air 

                (1)动作的播放顺序 ,(2)攻防判定

                 

                动作的播放顺序 

                1.打开 Iori-G 的 Air 档,第一行可见到

                [Begin Action 0] <===== 动作编号为 0 ( anim = 0 ) 
                Clsn2default: 2
                Clsn2[0] = 3,-100, 24,-79
                Clsn2[1] = -15,-93, 21, 0 <===== 这三行是 "受击判定" 先不理它。
                0,1,0,0, 5 <===== Animelem = 1
                0,2,0,0, 5 <===== Animelem = 2
                0,3,0,0, 5 <===== Animelem = 3
                0,4,0,0, 5 <===== Animelem = 4
                0,5,0,0, 5 <===== Animelem = 5
                0,6,0,0, 5 <===== Animelem = 6
                0,7,0,0, 5 <===== Animelem = 7
                0,8,0,0, 5 <===== Animelem = 8
                0,9,0,0, 5 <===== Animelem = 9

                 

                一组由五个数字组合而成,

                第一和第二分别表示 Group 和 Image 的编号,用以指定播放的图档,与 SFF 档中的 Group 及 Image 的编号相对应

                第三和第四分别是 相对 主轴的 X, Y 的位置,通常是数对 ( 0,0 )

                第五组表示时间,该图显示的时间,单位是 1/60 秒,此後所提到的时间皆以此为主,

                若为 - 1 则表示无限,图档将停在此图,直到给予下一指令

                图档依序播放完後,如果没有收到下一个动作编号的指令,会重新播放第一图档

                 

                另有一个参数 loopstart ,其意义如下。

                [Begin Action 0]
                Clsn2default: 2
                Clsn2[0] = 3,-100, 24,-79
                Clsn2[1] = -15,-93, 21, 0 
                0,1,0,0, 5
                0,2,0,0, 5
                0,3,0,0, 5 <=================自此行开始,就一直重覆
                0,4,0,0, 5
                0,3,0,0, 5
                0,4,0,0, 5
                0,3,0,0, 5
                0,4,0,0, 5

                故可改写成

                [Begin Action 000]
                Clsn2default: 1
                 Clsn2[0] = -15,-95, 21, 0
                0,1,0,0, 5
                0,2,0,0, 5
                loopstart 意指当一循环後,将回到此线,再自此循环
                0,3,0,0, 5 
                0,4,0,0, 5

                 

                ***有时候有第六组,其功能如下***

                15,1, 0,0, 5, H <====== 使图档水平翻转
                15,2, 0,0, 5, V <====== 使图档垂直翻转
                15,3, 0,0, 5, VH <====== 同时水平加垂直翻转 

                15,4, 0,0, 5, , A <====== 将图档透明化
                15,5, 0,0, 5, , A1 <====== 将图档半透明化

                15,6, 0,0, 5, VH, A <====== 将图档水平加垂直翻转并透明化

                 

                 

                 Mugen 中,有一些动作编号是已订定的动作,如下( opt 表示可有可无 )

                编号 动作

                --------------- --------------------

                0 站立
                


                8楼2006-06-14 19:34
                回复
                  2025-05-22 00:41:20
                  广告

                   

                  将以上组合,可写成

                   

                  command = ~30$D, a+b --- 按住 D, DB 或 DF 至少 30 单位时间,释放,并同时按下 a 键和 b 键


                  输入状态在此暂不予说明,之後的指令说明再予说明

                  ========================================================================


                  Cns

                  角色的一些参数,及状态编号设定,为角色精华所在

                  (1) 常数设定 ,(2) 状态编号


                  常数设定

                   

                  [Data]

                  life = 1000 \生命值

                  attack = 100 \攻击力,愈大破坏力愈强

                  defence = 100 \防御力,愈大愈耐打

                  fall.defence_up = 50 \躺在地上时,防御力上升值

                  liedown.time = 30 \倒地,躺在地上的时间

                  airjuggle = 9 \击点

                  sparkno = 3 \预设的攻击击中火花

                  guard.sparkno = 41 \预设的攻击被防御火花

                  KO.echo = 0 \被 KO 後,是否还考虑其效果,( team )

                  IntPersistIndex = 40 \特殊变数值编号大於此值将沿续到下一埸

                   

                  [Size]

                  xscale = 1 \X 方向图档显示对原图档的比例

                  yscale = 1 \Y 方向图档显示对原图档的比例

                  ground.back = 20 \自主轴向後沿伸一段长度,敌人无法进入

                  ground.front = 18 \自主轴向前沿伸一段长度,敌人无法进入

                  air.back = 12 \在空中时,自主轴向後沿伸一段长度,敌人无法进入

                  air.front = 13 \在空中时,自主轴向前沿伸一段长度,敌人无法进入

                  attack.dist = 160 \攻击时,敌方距离多远内,会进入防御动作

                  proj.attack.dist = 90 \敌方距离我方气功多远内,会进入防御动作 

                   

                  [Velocity]

                  walk.fwd = 3.0 \前进的速度

                  walk.back = - 2.6 \後退的速度

                  run.fwd = 5.5, 0 \向前跑的速度,若 y 值小於 0 ,则为前跃

                  run.back = - 5.8,- 3.8 \向後跑的速度,若 y 值小於 0 ,则为後跃

                  jump.neu = 0,- 9.3 \跳跃的高度

                  jump.back = - 2.9 \前跳时,在空中的速度

                  jump.fwd = 2.9 \後跳时,在空中的速度

                  runjump.fwd = 4 \冲刺向前跳的速度

                  airjump.neu = 0,- 8 \空中跳跃的高度

                  [Movement]

                  airjump.num = 0 \可在空中跳的次数

                  airjump.height = 35 \要空中跳时,至少的高度

                  yaccel = .6 \重力场

                  stand.friction = .82 \站立的磨擦力,愈小磨擦力愈大

                  crouch.friction = .82 \蹲身的磨擦力,愈小磨擦力愈大

                   

                   

                  状态编号在此暂不予说明,之後的状态说明再予说明

                  其中有两个较特别的状态编号

                  [statedef -2]

                  [statedef -3]

                  在这两个状态编号下的控制,将随时被考虑是否有触发,

                  许多效果都是藉这两个状态编号来达成的,其中 (-3) 的考虑优先於 (-2)


                  10楼2006-06-14 19:34
                  回复
                    "Trigger",什麼是"Trigger"?

                    Trigger,是CNS及CMD指令中不可缺的东西,

                    他指的是执行的条件,

                    如果MUGEN的人物没有一些条件规范动作的话,人物就会无法控制ㄡ.

                    例如说要发出轻拳,就得输入"指令A".

                    "指令A"就是条件ㄛ.

                    不罗唆,来看一些实例吧.

                    PS:注解是我自己加的,在分号;之後的内容都可以省略.
                    在CNS的开头先要指定是什麼编号的状态.
                    [Statedef 810];编号810状态
                    type = S
                    movetype = A
                    physics = S
                    juggle = 1
                    poweradd = 600;进入这个状态会加气600点.
                    ctrl = 0;进入状态後无法自由活动,要先把这个810状态做完.
                    anim = 810;使用AIR编号810的动画(详情见AIR教学)

                    ;先不要管没有注解的,并不重要,照抄就好.

                    [State 810, 1];编号810的内容
                    type = HitDef;指的是攻击的状态"HitDef"
                    trigger1 = AnimElem = 4;条件"攻击效果在编号AIR810的第4个动画"(第一段攻击)
                    trigger2 = AnimElem = 5;条件"攻击效果在编号AIR810的第5个动画"(第二段攻击)
                    attr = S, NA
                    animtype = Hard
                    getpower = 50;攻击到後给敌人的气
                    givepower = 50;攻击到後自己获得的气
                    damage = 200;伤害200点
                    guardflag = D
                    hitflag = MAF
                    pausetime = 21,21
                    sparkno = 12
                    sparkxy = -10,-65
                    hitsound = 5,3
                    guardsound = 6,0
                    ground.type = Trip
                    ground.slidetime = 12
                    ground.hittime = 50
                    ground.velocity = -5
                    guard.velocity = -5
                    air.velocity = -5,-1
                    airguard.velocity = -5,-1

                    重要的是trigger1 = AnimElem = 4,意思是条件1,当人物AIR第四个画面时产生效果.

                    ;AIR

                    [Begin Action 810 ]


                    Clsn2: 1
                    Clsn2[0] = 20,-100,-26, -2
                    700,0,0,0,35;人物第一个画面


                    Clsn2: 1
                    Clsn2[0] = 46,-103, -1, -1
                    710,0,0,0,6;人物第二个画面


                    Clsn1: 1
                    Clsn1[0] = -16,-139, 70,-100
                    Clsn2: 1
                    Clsn2[0] = 46,-103, -1, -1
                    720,0,0,0,5;人物第三个画面


                    Clsn1: 1
                    Clsn1[0] = 126,-125,-12,-61;这是攻击的格子范围(详情请看AIR教学)
                    Clsn2: 1
                    Clsn2[0] = 78,-95, 1, 0
                    730,0,0,0,4;人物第四个画面(注意!Clsn1才能产生攻击效果)


                    Clsn1: 1
                    Clsn1[0] = 148,-126, 62, 0
                    Clsn2: 1
                    Clsn2[0] = 94,-90, 4, 1
                    740,0,0,0,10;人物第五个画面


                    --------------------------------------------------------------------------------

                    相同的,trigger并不是只用在动画数或攻击上,

                    其他像是CMD的招式指令输入时才产生效果的

                    trigger1 = command = "招式指令名称'

                     

                    红血指令..等

                    trigger1 = life =生命数值

                     

                    下面我先列出一些常用的条件:

                    -AnimElem 动画格数 
                    -AnimTime 动画拨放时间,从第一格起拨放的时间 
                    -Command 招式指令名称 
                    -Ctrl 自由活动否,=0是不能活动时像是进入某状态时,=1是没有用招式时候(没有进入其他状态) 
                    -Life 生命数值,1000通常是全满的时候. 
                    -MoveGuarded 招式防御时,=1是击中,=0是没有 
                    -MoveHit 招式击中时,=1是击中,=0是没有 
                    -P1Name P1的名字是=xxx时(通常用於开场) 
                    -P2Name P2的名字是=xxx时(通常用於开场) 
                    -P3Name P3的名字是=xxx时(通常用於团体战开场) 
                    -P4Name P4的名字是=xxx时(通常用於团体战开场) 
                    -P2BodyDist 距离P2距离多少时 
                    -PalNo 在什麼色盘时 
                    -ProjContact 接触到飞行道具时,=1是击中,=0是没有 
                    -ProjGuarded 防御飞行道具时,=1是击中,=0是没有 
                    -ProjHit 被飞行道具击中时,=1是击中,=0是没有 
                    -Random 乱数 
                    -StateNo 状态是xxx时 
                    -Var 变数是xxx时 
                    -Win 胜利的时候 

                    2000.11.1守鼠


                    12楼2006-06-14 19:49
                    回复
                      "states"指的是状态.

                      包括使用招式或是效果等,

                      都先需要进入状态之中才能发挥效果.

                      让我们看看使用攻击招式要写出什麼状态来进入.

                      PS:注解是我自己加的,在分号;之後的内容都可以省略.


                      13楼2006-06-14 19:49
                      回复
                        • 125.213.22.*
                        制作工具在哪下载?我找不到啊


                        14楼2006-06-29 08:35
                        回复
                          到MUGENCHINA找!


                          15楼2006-07-01 14:39
                          回复
                            你能不能说一下你的QQ啊?


                            16楼2010-10-21 15:20
                            回复