使用版本:2014.06:19549
图1 4399一步两步
1 脚本前准备
一步两步在h5页面中的目标是通过点击1步/2步,避免掉下去的情况下得到高分,另外能吃到硬币有额外加分,那么如何用鼠标控制的脚本逻辑来实现呢?在开始游戏期间,能操作的只有前进步数选择,只要前方1格出现平台,那就跳1步,否则2步。然后根据游戏节奏,越后面平台的掉落间隔时间越短,直到达到设定下限。所以设置游戏时,除了点击前进步数,还要合理设置间隔时间。那我们第一步要做的则是得到前方平台的位置和图形。
图2 我的游戏界面
我电脑的游戏界面如图2所示,通过使用画图软件,知道了前方1步平台(图中红框的)的左上坐标和右下坐标,方便之后用按键找图用。接着,在按键用抓图功能把图中红框(大概范围)的图片截取下来并保存为"platform.bmp",然后在附件中添加该图片。
2 脚本逻辑
为了让读者更明白脚本逻辑,特地制作了一份流程图来告知本节内容。
图3 逻辑流程图
首先要做的是定义脚本变量,分别有点击1步的坐标,点击2步的坐标,查找的平台区域,然后就可以开始游戏了
Dim oneStep, twoStep, LandSpace
oneStep = Array(301, 681)
twoStep = Array(1200, 681)
LandSpace = Array(500, 600, 700, 750) //参考图2
Call StartGame
开始游戏最好是在游戏初始界面中,由脚本点击开始游戏。这时只要鼠标移到开始游戏处左键单击1下即可,然后开始进入GameStatus大循环
Sub StartGame
MoveTo 436, 791 // 坐标指向开始游戏
LeftClick 1
Delay 1000
Call GameStatus
End Sub
循环时,根据图3流程,先进行结束判断(或放在走步后),然后检查前方是否有平台(CheckStep)并进行跳跃
Sub GameStatus
Dim Alive, minD, defD, decD
defD = 800 //默认延迟
decD = 1 //每次延迟减少量
minD = 500 //最小延迟
Alive = True //游戏未结束标志
While Alive //如果游戏未结束
Call CheckStep //检查前方是否有平台并跳跃
Delay defD
If StrComp(GetPixelColor(749, 457), "2DC0FB") <> 0 Then
//判断游戏结束,检查(749, 457)像素点颜色(可找平台绿点)
Alive = False
Else
If defD >= minD + decD Then //未达到下限时减小延迟
defD = defD - decD
End If
End If
Wend
//拓展:这里可以设置再玩一次
End Sub
Sub CheckStep
FindPic LandSpace(0), LandSpace(1), LandSpace(2), LandSpace(3), "Attachment:\platform.bmp", 0.4, rx, ry
If rx > 0 Then
Call Click(1)
Else
Call Click(2)
End If
End Sub
Sub Click(s)
If s = 1 Then
MoveTo oneStep(0), oneStep(1)
Else
MoveTo twoStep(0), twoStep(1)
End If
LeftClick 1
End Sub
该教程适合初入按键精灵脚本制作的网友,简单易入门,完成后可以尝试挂着试试,如果只能进行2000分左右,表示delay出现问题或电脑配置问题。最后,本文只适用于单台电脑,没有拓展性,也不可用于商业用途,仅供学习,源码都在文中,只有跟着操作了。