滚屏系统 - dasasdhba/Super-Mario-Vandal-Editor GitHub Wiki
本章主要介绍本项目的滚屏系统,其主要由对象 o_camera 处理。
参数
在对象 o_camera 的 Create 事件中可以找到本项目滚屏系统使用的全部参数。 项目中的注释使用英文,不过比较完整,下面还是给出中文注释:
//当前滚屏边界
L = 0 //Left,左边界
R = room_width //Right,右边界
T = 0 //Top,上边界
B = room_height //Bottom,下边界
scale = 1 //视野缩放
screen_limit = true //是否允许马里奥出屏
//目标滚屏中心坐标
xtarget = 0
ytarget = 0
//目标坐标偏移值
xoffset = 0
yoffset = 0
scale_target = 1 //目标缩放值
scale_v = 0.1 //缩放速度
//是否将滚屏中心目标设为马里奥
target_mario = true
mode = 0
/*
mode = 0: 跟踪
mode = 1: 强制滚屏
mode = 2: 切屏式(选关画面)
*/
//跟踪模式的速度,如果速度小于等于 0,可以认为速度为 +∞
follow_vx = 0
follow_vy = 0
//通过渐变滚屏切换滚屏边界
gradual_x = false //x方向
gradual_y = false //y方向
gradual_vx = 0.1 //x渐变系数
gradual_vy = 0.1 //y渐变系数
gradual_xmin = 2 //x速度最小值
gradual_xmax = 10 //x速度最大值
gradual_ymin = 3 //y速度最小值
gradual_ymax = 15 //y速度最大值
//强制滚屏
move_v = 0 //强制滚屏速度
move_dir = 0 //强制滚屏方向,角度,与数学相同
shake_range = 16 //抖动范围
shake = 0 //抖动时间
/*
>0: 屏幕在滚屏边界内抖动
<0: 屏幕不一定在滚屏边界内抖动
*/
使用
当马里奥(o_mario)存在时,o_camera 会自动创建。
可以用 o_camera_setting 和 o_camera_setting_mario 来设置上述参数;
其中前者在 o_camera 与之重叠时生效,后者在 o_mario 与之重叠时生效。
你只需要在 Room 中设置这两个对象的 Creation Code,其中变量名与 o_camera 的参数名保持一致即可。
顺带一提,如果需要设置渐变切换滚屏边界,你不需要同时设置gradual_x和gradual_y,
你只需要设置gradual = true即可。