- //坐标变量:
- dim x,x1,x2,xx,px
- //时间变量:
- dim t,t1,t2,tt,dt
- //初始化变量:
- i=1:tt=0:xx=0
- //循环及按键的延时设置,请根据电脑及网络情况自行调整:
- dt=2
- //响一下,提示脚本开始运行:
- 响一声
- 标记 测节拍速度
- //循环防卡延时:
- 延时8*dt毫秒
- //第一次测小圆珠的位置:
- 调用外部VBScript子程序 在屏幕区域里查找颜色(400,365,540,370,"520000",x1,y1)
- 如果表达式 (x1>0) 为真,则
- //记录从系统启动到现在的毫秒数:
- 调用插件命令 t1=Sys.GetTime()
- 延时512毫秒
- //第二次测小圆珠的位置:
- 调用外部VBScript子程序 在屏幕区域里查找颜色(400,365,540,370,"520000",x1,y1)
- 如果表达式 (x2>x1) 为真,则
- //再次记录从系统启动到现在的毫秒数:
- 调用插件命令 t2=Sys.GetTime()
- //计算两次测量的时间差,并累加:
- tt=tt+t2-t1
- //计算两次测量的坐标差差,并累加:
- xx=xx+x2-x1
- i=i+1
- //循环测5次以减小误差:
- 如果表达式 (i=5) 为真,则
- //算出不同节拍下小球的移动速度()
- t=tt/xx
- //根据歌曲速度调整P点位置:
- 如果表达式 (t>20) 为真,则
- //在70-90之间:
- px=502
- 否则如果(t>16 and t<=20)为真,则
- //在90-110之间:
- px=501.5
- 否则如果(t>14 and t<=16)为真,则
- //在110-130之间:
- px=501
- 否则如果(t>12 and t<=14)为真,则
- //在130-150之间:
- px=500.5
- 否则如果(t>11 and t<=12)为真,则
- //在150-160之间:
- px=500
- 否则如果(t>10 and t<=11)为真,则
- //在160-170之间:
- px=499.5
- 否则如果(t>9.5 and t<=10)为真,则
- //在170-180之间:
- px=499
- 否则
- //在180-190之间:
- px=498.5
- 条件结束
- 跳转到标记 开始
- 条件结束
- 跳转到标记 测节拍速度
- 条件结束
- 条件结束
- 跳转到标记 测节拍速度
- 标记 按空格
- //循环防卡延时:
- 延时8*dt毫秒
- //检测小球位置:
- 调用外部VBScript子程序 在屏幕区域里查找颜色(400,365,540,370,"520000",x1,y1)
- 如果表达式 (x>0 and x<px) 为真,则
- //没到P点,延时等待小球到达设定的P点处
- 延时(px-x)*t毫秒
- 按键<Space>
- //延时等待小球滚完剩余路程:
- 延时40*t毫秒
- 跳转到标记 开始
- 否则如果(x>=px)为真,则
- //已到或超过设定的P点,直接按空格:
- 按键<Space>
- 延时40*t毫秒
- 跳转到标记 开始
- 否则
- 跳转到标记 按空格
- 条件结束
- 标记 开始
- //循环防卡延时:
- 延时8*dt毫秒
- //单数箭头
- 如果 (399,391) 的颜色大约等于 #ef0000 则
- 如果 (399,404) 的颜色大约等于 #ffffff 则
- 如果 (263,404) 的颜色大约等于 #ffffff 则
- s=9:k=0
- 跳转到标记 按箭头
- 条件结束
- 如果 (297,404) 的颜色大约等于 #ffffff 则
- s=7:k=34
- 跳转到标记 按箭头
- 条件结束
- 如果 (331,404) 的颜色大约等于 #ffffff 则