化身与移动
化身移动所依据的全部数值:行走、冲刺、判定框、出现,以及关卡如何缩放它们
这一页是化身的权威来源。游戏和两个机器人都按这些数值构建,在SDK中它们是AvatarRules的常量。代码与本页不一致时,是代码的bug
距离以世界单位计。默认相机的高度正好是10个单位(ValueRules.DefaultZoom),所以1个单位是屏幕高度的十分之一,化身的身体宽半个单位。缩放相机改变的是你能看到多少,而不是下面的数值
数值
| 项目 | 数值 | 通俗地说 |
|---|---|---|
| 行走速度 | 15单位/秒 | 三分之二秒从屏幕顶部走到底部 |
| 冲刺速度 | 50单位/秒 | 行走速度的3.3倍 |
| 冲刺持续时间 | 0.15秒 | |
| 冲刺距离 | 7.5单位 | 速度×持续时间,屏幕高度的四分之三 |
| 冲刺冷却 | 0.3秒 | 从冲刺开始时计算 |
| 冲刺无敌时间 | 0.3秒 | 同样从开始时计算,所以比移动多持续0.15秒 |
| 最短冲刺 | 0.01单位 | 与下方的到达距离相同,此时你已经站在目标上 |
| 击退速度 | 50单位/秒 | 行走速度的3.3倍,伤害与生命 |
| 击退持续时间 | 0.15秒 | 期间无法操控 |
| 受伤保护时间 | 1.0秒 | 其间的所有后续命中都会被忽略 |
| 身体尺寸 | 0.5单位 | 绘制出的方块 |
| 判定框 | 半径0.15单位 | 身体的0.3,故意比你看到的小 |
| 出现与消失 | 0.3秒 | 逐渐长大出现,缩成一个点消失 |
| 玩家尺寸对速度的影响 | 完全,1.0 | 化身越大,移动越快,成正比。这指的是关卡的玩家尺寸轨道,不是相机的缩放 |
| 朝向转动速度 | 30/秒 | 纯外观:身体朝向哪一边 |
| 到达距离 | 0.01单位 | 离光标比这更近就算站在光标上 |
由它们推导出的数值,才是真正决定能否躲开的数值:
| 项目 | 数值 |
|---|---|
| 最短冲刺:距离 | 0.01单位 |
| 最短冲刺:持续时间 | 远短于一帧 |
| 最短冲刺:冷却和无敌时间 | 各自都远短于一帧 |
| 最快的冲刺频率 | 最多每隔一帧一次 |
| 击退距离 | 7.5单位 |
被击中时会发生什么:伤害与生命
移动
操控方式有两种,游戏从不混用:
- 方向:WASD、手柄摇杆、陀螺仪。化身朝你推的方向以行走速度移动。摇杆推到一半就以一半速度移动,这是唯一的“慢走”方式
- 光标:鼠标或手指。化身追着那个点移动,而不是瞬移过去。它以自己的行走速度移动,鼠标移动很快时会落在后面
两种方式下移动都是即时的:没有加速,没有滑行,没有惯性。你停止操作的那一帧,化身就停下
冲刺
无敌时间比移动长0.15秒。正是这段落地缓冲让你可以穿过障碍物冲刺
冲刺期间你仍然在操控。冲刺朝你要求的方向进行,即你按住的方向或你瞄准的点,并且可以在冲刺中途改变。没有按住任何方向时,冲刺不会移动
使用光标时,冲刺朝你指向的地方进行,并停在那里:
| 光标距离 | 结果 |
|---|---|
| 大于7.5单位 | 朝光标完整冲刺一次,停在光标之前 |
| 0.01到7.5单位 | 较短的冲刺,正好停在光标上 |
| 小于0.01单位 | 不冲刺 |
较短的冲刺就是按比例缩小的同一种冲刺。移动距离、无敌时间和冷却一起缩小:半程冲刺的无敌时间减半,冷却也减半。它从来不是更便宜的冲刺。两次半程冲刺的代价正好等于一次完整冲刺,走过的距离也相同
被拒绝的冲刺没有任何代价:不会开始冷却,也不消耗任何东西。用方向操控但什么都没按住的玩家也会得到同样的结果:不冲刺
冲刺时身体还会变成更深的蓝色,然后在接下来的0.15秒内渐渐恢复原来的颜色。除此之外没有任何东西会改变身体的颜色,被击中也不会。冲刺是你自己的动作,所以只有它会改变颜色
冲刺拖尾和这种蓝色随冲刺长度变化:完整冲刺时完全显示,最短冲刺时显示为其0.3,介于两者之间的按比例显示。冲刺越短,粒子飞出得越慢,所以拖尾看起来和冲刺一样长
两种风格,同一份预算
- 在
方向模式下,冲刺总是冲满7.5单位。距离可靠,不需要瞄准,但无法中途停下 - 使用光标时,你可以选择长度,并正好停在某个点上。短冲刺意味着更短的保护时间,每次冲刺多出一个可被击中的帧。指向远处就能重新得到完整冲刺
沿着直线,两种方式在相同时间内走过相同的距离。没有哪种风格更强:一种给你精度,另一种给你简单
连续冲刺
按住冲刺并不等于无敌。冷却和保护时间一样长,所以按住按键会形成一串连续不断的冲刺。但两次冲刺之间总有正好一帧可以被击中,无论帧率多少,慢速手机和快速电脑都一样。最密集的连续冲刺是每隔一帧冲刺一次
判定框
化身上的那圈点正好位于判定框上。子弹擦过你的轮廓却什么都没发生?这是有意设计的
无敌期间(冲刺中或刚被击中后),判定框完全不存在
同一圈点也显示你的生命:亮着的点就是还剩的一条命
设置→界面→判定框圆环不透明度决定这圈点的可见程度。0会把它隐藏,但关卡是按能看到它的玩家来平衡的
身体是由25个方块组成的5×5网格。生命减少时,方块从外圈向内逐渐变暗,而不是消失:失去的方块会留下一个淡淡的虚影,所以网格始终显示全部25个方块,生命值体现为还有多少个亮着。虚影方块足够透明,下面的判定框圆环仍然能透过它们看到。生命为零时,恰好还有一个方块亮着,那是最后一块。任何生命损失都需要0.25秒显示出来,任何恢复需要0.6秒重建,无论涉及多少条命。关闭图形→碎裂效果时,身体变成一个整体方块,改为逐渐淡出。这是为较弱的设备准备的
出现与消失
化身出现在关卡中需要0.3秒长大,死亡时需要0.3秒缩成一个点。这两个过程中它都不响应任何输入,出现期间也不会被击中
缩放
关卡可以通过自己的轨道为化身的尺寸和速度制作动画。它也可以暂时收走你的操控,或关闭碰撞
- 行走、冲刺和击退的速度乘以同一个数。所以速度减半时冲刺距离也减半(3.75单位)
- 化身越大,移动越快,成正比,因为它的躲避动作也随之变大了。这里的尺寸是化身自己的尺寸,来自关卡的玩家尺寸轨道。相机的缩放不改变任何速度、距离和时间窗口:无论相机怎样变化,化身每秒都移动15个单位
- 判定框是绘制出的身体的一个比例,所以它随化身一起变大变小
- 冲刺瞄准使用当前的冲刺距离,而不是表中的7.5。在速度减半的关卡中,距离3.75单位的光标就已经对应一次完整冲刺,0.01单位的下限变成0.005单位,因为下限以下的冲刺也缩短了一半
- 以秒计的时间窗口不会缩放:冷却、无敌时间、受伤保护时间、出现。只有冲刺自身的长度会缩放它自己的两个时间窗口
机器人遵循同样的规则,机器人