一、数据驱动的关卡运行时
Runtime问题:关卡几何由对话内容决定。 平台尺寸、落脚点、机关和文字显现必须跟节点走; 传送、受击和复活会产生位移,不能把这类位移当成玩家「走完了这一句」。
做法:一条对话节点对应一块平台物体,文字、碰撞、锚点和可选机关组挂在同一处。 文字按角色在平台上的水平行程逐步显现;超过阈值的位移视为传送,不计入行程。 推进器维护平台对象池,按屏幕比例槽位排版,节点完成后锁定输入、延迟再切到下一节点。 角色控制按不规则平台单独调:地面与空中加速度分开、单击跳与长按高跳、边缘保护只对平台层采样,低矮障碍可走上。
结果:正式关用手摆固定尺寸,手感可逐关调; 自定义关卡因文本长度未知,另做按实际高度累加的布局。两套排版分开,避免互相改坏。
- 数据驱动几何:改对话节点就能改平台和机关,不必再手改一套碰撞。
- 输入与表现分离:行走才推进文字,系统传送不影响节点进度。
- 能力开关:跳跃等能力由关卡模式打开或关闭,正式关默认行为不变。
为什么不让所有关卡都自适应尺寸?
正式关要保证手感,平台尺寸和落点必须可预估。自适应适合文本长度不可预知的情况。为了复用硬合成一套,两边都会变难调。
2D 手感上具体调了什么?
不是套一份通用控制器就结束。平台是圆角气泡,要单独做边缘保护和上台阶;否则角色会在边缘滑落,或被平台上的道具误判为离地。
