MUGEN 1.1 · DOCUMENTATION

背景控制器

背景控制器

背景控制器操作一个内部计时器.计时器在每回合开始时从0开始计时.每个游戏帧增加1,
当计时器到达控制器起始的时间.则控制器变为激活状态,
当计时器到达控制器结束的时间.则控制器停用,
如果控制器指定了一个正的循环时间.则当循环时间到达时控制器的内部计时器将复位到0,

背景控制器必须以组的形式写在父级BGCtrlDef下,你能使用多个 BGCtrlDef将控制器分成几个组,
每个BGCtrlDef和背景控制器模块可以放置在DEF文件[BGDef]之内的任何位置,
这些模块的一般格式是: (格式类似StateDef)

  • [BGCtrlDef my_controller_name]
    looptime = GLOBAL_LOOPTIME
    ctrlID = DEFAULTID_1, DEFAULTID_2, ...

    [BGCtrl my_controller_1]
    type = CONTROLLER_TYPE
    time = START_TIME, END_TIME, LOOPTIME
    ctrlID = ID_1, ID_2, ...
    (controller-specific parameters here)

    [BGCtrl my_controller_2]
    (等等)

GLOBAL_LOOPTIME指定一个时间帧数.在这个时间之后BGCtrlDef将复位它的内部计时器.以及他包含的所有BGCtrl内部计时器,
要禁止循环时间.设置为-1或者缺省,

DEFAULTID_1, DEFAULTID_2, 等等, 指定将被 没有指定自身ctrlID列表的BGCtrl 影响的 背景元素ID号,
你能为此参数列出最多10个ID号,如果此行缺省.则默认将影响所有背景元素,

START_TIME, END_TIME, LOOPTIME是指定的时间.在这个时间点背景控制器应分别开始激活.停止激活.复位它的内部计时器,
如果LOOPTIME缺省或设置为-1.则背景控制器将不会复位它的计时器,(他的计时器仍然可以被他父级BGCtrlDef复位.只要GLOBAL_LOOPTIME被指定)
背景控制器将在START_TIME和END_TIME中被连续激活,
START_TIME是必要参数.但如果缺省END_TIME则将会默认为和START_TIME的值一样,(因此控制器将仅被触发1帧)

ID_1, ID_2, 等等, 指定此控制器作用于的背景元素ID号,这个列表.如果指定.将覆盖BGCtrlDef中指定的默认列表,
ID最多能指定10个,

下面是BGCtrl类型和它们相关参数的列表:(大多数控制器和状态控制器相似)

  • null
    如其名.此控制器什么也不做,主要用在调试中.当你想短时间使一个控制器无效同时又不想删掉这些代码.就用null.而不必在每行代码前加";",
    把原来的控制器名称换成null同时在原来的名字前加";",此控制器没有其他参数,
  • Visible
    value = visible_flag
    设置元素的可见度状态,激活时.此控制器设置背景元素不可见(=0)或可见(=1),不可见的元素中.计时将不会停止,
    (也就是说.在动画型元素中.即使在不可见的状态.动画仍将持续播放)
  • Enabled
    value = enabled_flag
    设置元素是否被'关闭'(暂时先用这个词吧,,,)
    此控制器要么关闭(禁止)(=0)要么开启(解禁)(=1)背景元素的效果,
    当一个元素被关闭.将是不可见的且它的计时间停止(所以.在动画型元素的情况下.任何动画将停止),
  • VelSet
    x = vel_x
    设置元素x方向速度,
    y = vel_y
    设置元素y方向速度,
    此控制器将设置 被影响的背景元素 x/y方向速度 为指定的值,
    速度单位是 像素/游戏帧,你能在x,y参数中指定1个或2个数值,
    缺省任何一个.元素在此方向的速度将不变,
  • VelAdd
    x = vel_incr_x
    改变元素x方向速度,
    y = vel_incr_y
    改变元素y方向速度,
    此控制器将增加 被影响的背景元素 x/y方向速度 指定的值,
    你能在x,y参数中指定1个或2个数值,
    缺省任何一个.元素在此方向的速度将不变,
  • PosSet
    x = pos_x
    设置元素x方向位置,
    y = pos_y
    设置元素y方向位置,
    此控制器将设置 被影响的背景元素 x/y方向坐标 指定的值,
    你能在x,y参数中指定1个或2个数值,
    缺省任何一个.元素在此坐标方向的位置将不变,
  • PosAdd
    x = x_displacement
    替换元素x方向位置,
    y = y_displacement
    替换元素y方向位置,
    此控制器将替换 被影响的背景元素 x/y方向坐标 指定的值,
    你能在x,y参数中指定1个或2个数值,
    缺省任何一个.元素在此坐标方向的位置将不变,
  • Anim
    value = action_no
    改变 受影响元素 显示的动画到指定动画号,
  • SinX
    value = amplitude, period, offset
    改变受影响元素正弦运动x方向的振幅.周期和相位偏移,
    此参数效果和背景元素参数中的sin.x相同,
  • SinY
    value = amplitude, period, offset
    改变受影响元素正弦运动y方向的振幅.周期和相位偏移,
    此参数效果和背景元素参数中的sin.y相同,
搜索全部教程正文 · Ctrl / ⌘ + K 打开 · Esc 关闭 · Enter 打开首条结果