按键精灵教程之俄罗斯方块

按键精灵教程之俄罗斯方块
按键精灵教程之俄罗斯方块

前言:

喵~你们相信按键精灵除了能做游戏辅助脚本外,还能做一个游戏玩玩吗?这是真的吗?小猫告诉你,是真的,编程是无所不能的,只要你敢想,就能实现!!!

游戏下载地址:喵~用按键精灵做的<俄罗斯方块>游戏~[更新至1.11.0701]

技术:

1.多线程

2.窗口句柄

工具:

按键精灵8

361的窗口插件

mp9999ddd的多线程互斥锁插件

俄罗斯方块百度

感谢以上两位高人提供的插件喵。

游戏背景图片:

思路:

要写一个游戏,必须要对游戏有一定的了解,而不是简简单单的知道怎么玩。现在小猫要写的是俄罗斯方块,那么小猫需要知道以下几个数据:“游戏的边框长短,各个方块的具体形状,每次变形后的形状,得分的算法,游戏的规则。”那怎么获得这些数据呢?对,活用百度谷歌,具体内容看上面的俄罗斯方块百科,已经写的很清楚了,游戏是10x20大小的,方块有S、Z、L、J、I、O、T这7种形状,得分的大致算法。OK,游戏的一些大致数据已经收集好了,现在要利用这些数据了。

小猫刚开始的时候,是想用91的写屏插件,通过清屏和写屏两种功能完成游戏的,后来才发现,这个思路的代码和算法太复杂,于是果断放弃,转为使用361的窗口插件,通过创建一个游戏背景区域和多个方块(按钮),然后使用移动窗口和关闭窗口实现方块的移动

和消除,而判断方法则是采用判断上下左右句柄得到。

正文:

首先,我们要创建一个游戏区域,游戏原本是边框10x20,方块1x1的,我们将其放大30倍,即变为边框300x600,方块30x30,我们还要计算好游戏区域的左上角坐标,在这里,小猫电脑分辨率是1280x800的,小猫为了游戏区域在屏幕中间,故设置游戏区域的左上角坐标为489,99。接着,大家注意找下361窗口插件中的“CreateCustomRgn 创建不规则区域”功能,简单的说,这个就是放置一张图片大小的窗口,只不过他会将指定颜色挖空。在这里,我们使用上面那张300x600的背景图片,创建这个游戏区域即可。注意,停止脚本的时候,关闭这个窗口

1.setGameLeftUpX = 489 : setGameLeftUpY = 99

2.FKPath="Attachment:\"

3.BGPath = "Background.bmp"

4.MainHwnd = Plugin.WindowEx5_01.CreateCustomRgn(0, setGameLeftUpX,

setGameLeftUpY, FKPath & BGPath, "FF00FF")

5.

6.Sub OnScriptExit()

7. HwndArray=Plugin.WindowEx5_01.EnumWindowA(0,0,"361Du*Class3",2)

8. For i = 0 To UBound(HwndArray)

9. Call Plugin.WindowEx5_01.SetWindowState(HwndArray(i),

0)

10. Next

11.End Sub

复制代码

第二,游戏区域创建好了,现在要创建方块了,大家看下361窗口插件中的“CreateButton 创建按钮”功能,我们就用他来创建方块,并得到每个方块的句柄。所有的形状都是由4个方块组成,那么我们可以通过一个带参数的子程序来完成创建工作,先从最简单的O形方块开始。这个方块的形状是“田”字形的,即2X2,游戏刚开始的时候,这个方块应该是在游戏区域的正上方中间等待下降的。故他的左上角坐标应该是609,39,根据一个方块为30x30大小,推出其他3个方块的坐标,创建4个方块窗口,并将这4个窗口句柄分别保存起来。

1.OO = "609,39,639,39,609,69,639,69"

2.Call Create(OO)

3.

4.Sub Create(FKZuoBiao)

5. TracePrint "创建方块"

6. CreateZB = Split(FKZuoBiao, ",")

7. getFKHWnd1 = getCreateFK(CreateZB(0), CreateZB(1))

8. getFKHWnd2 = getCreateFK(CreateZB(2), CreateZB(3))

9. getFKHWnd3 = getCreateFK(CreateZB(4), CreateZB(5))

10. getFKHWnd4 = getCreateFK(CreateZB(6), CreateZB(7))

11.End Sub

复制代码

第三,现在游戏背景和O形方块都创建好了,我们先要让他自动落下,怎么弄呢?很简单,每隔一段时间,获取四个方块窗口的当前坐标,然后依次向下移动一次,一次是移动30个像素,对吧?OK,子程序代码如下:

1.

2.Sub FKStatic()

3. getFKRect1 = Plugin.WindowEx5_01.GetWindowInfo(getFKHWnd1, 2)

4. getFKRect2 = Plugin.WindowEx5_01.GetWindowInfo(getFKHWnd2, 2)

5. getFKRect3 = Plugin.WindowEx5_01.GetWindowInfo(getFKHWnd3,

2)

6. getFKRect4 = Plugin.WindowEx5_01.GetWindowInfo(getFKHWnd4,

2)

7.End Sub

8.

9.Sub FallFK()

10. TracePrint "下落"

11. Call FKStatic()

12. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd1, getFKRect1(0),

getFKRect1(1) + 30)

13. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd2, getFKRect2(0),

getFKRect2(1) + 30)

14. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd3, getFKRect3(0),

getFKRect3(1) + 30)

15. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd4, getFKRect4(0),

getFKRect4(1) + 30)

16.End Sub

复制代码

第四,现在问题来了,我们发现方块不停的掉下去,不会停止在游戏区域内,怎么办?这里,我们要用到这个功能--GetPointWindow 获得包含了指定点的窗口句柄--它的作用就是得到指定坐标上的窗口句柄。有什么用呢?这样想,我们只要得到四个方块下一格的句柄,如果这个句柄不是方块的句柄也不是游戏背景区域的句柄(这里大家思考下,为什么还要加上不是方块的句柄这个条件),那么我们就可以判断出这个方块已经到达了最底部了。

1.

2.Function CheckFK()//检查方块的下一格句柄

3. Call FKStatic()

4. getCheckHwnd1 = getPointHwnd(getFKRect1(2) - 15, getFKRect1(3)

+ 15)

5. getCheckHwnd2 = getPointHwnd(getFKRect2(2) - 15, getFKRect2(3)

+ 15)

6. getCheckHwnd3 = getPointHwnd(getFKRect3(2) - 15, getFKRect3(3)

+ 15)

7. getCheckHwnd4 = getPointHwnd(getFKRect4(2) - 15, getFKRect4(3)

+ 15)

8. If getCheckHwnd1 <> getFKHwnd1 and getCheckHwnd1 <> getFKHwnd2

and getCheckHwnd1 <> getFKHwnd3 and getCheckHwnd1 <> getFKHwnd4 and

getCheckHwnd1 <> MainHwnd Then

9. TracePrint 1

10. CheckFK = false

11. ElseIf getCheckHwnd2 <> getFKHwnd1 and getCheckHwnd2 <>

getFKHwnd2 and getCheckHwnd2 <> getFKHwnd3 and getCheckHwnd2 <>

getFKHwnd4 and getCheckHwnd2 <> MainHwnd Then

12. TracePrint 2

13. CheckFK = false

14. ElseIf getCheckHwnd3 <> getFKHwnd1 and getCheckHwnd3 <>

getFKHwnd2 and getCheckHwnd3 <> getFKHwnd3 and getCheckHwnd3 <>

getFKHwnd4 and getCheckHwnd3 <> MainHwnd Then

15. TracePrint 3

16. CheckFK = false

17. ElseIf getCheckHwnd4 <> getFKHwnd1 and getCheckHwnd4 <>

getFKHwnd2 and getCheckHwnd4 <> getFKHwnd3 and getCheckHwnd4 <>

getFKHwnd4 and getCheckHwnd4 <> MainHwnd Then

18. TracePrint 4

19. CheckFK = false

20. Else

21. CheckFK = true

22. End If

23.End Function

复制代码

第五,下落问题解决了,这次我们要对方块进行左右移动,既要让方块保持下落,又要让方块左右移动,怎么办?这里就需要用到多线程了,另外,由于每个形状是由4个方块组成的,则就意味着,每次移动都要移动4个方块,问题来了,如果下落的同时,又左移了,会不会造成混乱呢?比如方块错位之类的。这里有一个知识点,多线程互斥锁,打个比方,

有两个线程,一个线程对变量a进行自增1运算,一个线程对同一个变量a进行自减1运算,那么a的值变化如何?肯定是很混乱的,一会儿加,一会儿减的,这个时候,如果我想让他自增1运算10次后,再自减1,怎么办呢?造成混乱的原因就是,两个线程抢着用变量a,如果当一个线程在使用a的时候,另外一个线程无法使用a,那么这问题不就解决了?这就是线程互斥锁。刚开始的时候,小猫是用环境变量来实现的,后来发现按键精灵的多线程不怎么稳定,哪怕使用了环境变量,还是容易造成方块混乱,于是这里就要用到了mp9999ddd 的多线程互斥锁插件这个插件。

1.Sub MoveFK()//移动方块

2. Do

3. MoveKey = 0

4. If SpeedUp = 0 or SpeedUp = 1 Then

5. TracePrint "SpeedUp "& SpeedUp

6. MoveKey = WaitKey()

7. Call Plugin.jcqm.jMutexLock(Lock)

8. TracePrint "移动"

9. Select Case MoveKey

10. Case 37

11. getCheckFK = CheckFK()

12. If getCheckFK Then

13. Call MoveLeft()

14. End If

15. Case 39

16. getCheckFK = CheckFK()

17. If getCheckFK Then

18. Call MoveRight()

19. End If

20. Case 38

21. Call Change()

22. End Select

23. Call Plugin.jcqm.jMutexUnLock(Lock)

24. Delay 50

25. End If

26. Loop

27.End Sub

28.

29.Sub MoveLeft()//左移

30. Call FKStatic()

31. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd1, getFKRect1(0) -

30, getFKRect1(1))

32. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd2, getFKRect2(0) -

30, getFKRect2(1))

33. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd3, getFKRect3(0) -

30, getFKRect3(1))

34. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd4, getFKRect4(0) -

30, getFKRect4(1))

35.End Sub

36.

37.Sub MoveRight()右移

38. Call FKStatic()

39. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd1, getFKRect1(0) +

30, getFKRect1(1))

40. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd2, getFKRect2(0) +

30, getFKRect2(1))

41. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd3, getFKRect3(0) +

30, getFKRect3(1))

42. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd4, getFKRect4(0) +

30, getFKRect4(1))

43.End Sub

44.

45.Sub MoveDown()//下降

46. Call FKStatic()

47. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd1, getFKRect1(0),

getFKRect1(1) + 30)

48. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd2, getFKRect2(0),

getFKRect2(1) + 30)

49. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd3, getFKRect3(0),

getFKRect3(1) + 30)

50. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd4, getFKRect4(0),

getFKRect4(1) + 30)

51.End Sub

复制代码

第六,现在我们已经把下降和左右移动写好了,现在要写消除代码了,思路很简单,判断一行是不是都为方块,如果是,则消除,并且上面的方块集体下移。如何判断呢?我们通过抓抓获取的句柄可知,方块窗口的类是“361DuButtonClass3”,我们可以通过同一行的窗口的类是不是都为这个,如果是,则消除这一行,并且上面的方块都掉下来,注意一点,这个只要判断当前落下方块的范围下是否一行都是方块即可,顺便把得分算法也写了。

1.

2.Sub ClearFKLine()

3. TracePrint "消除"

4. Call FKStatic()

5. ScoreExp = -1

6. MinToMaxArr = Array(getFKRect1(1), getFKRect2(1), getFKRect3(1),

getFKRect4(1))

7. MinToMax = lib.算法.结构数组排序(MinToMaxArr,0)

8. FKMinToMaxY = 数组去重(split(MinToMax, " "))

9. For CheckFKLineJ = 0 To UBound(FKMinToMaxY)

10. If CheckFKLine(FKMinToMaxY(CheckFKLineJ)) Then

11. For UnCreateI = 1 To 10

12. Call UnCreate(CheckFKLineHwndArr(UnCreateI))

13. Next

14. Call ClearDown(FKMinToMaxY(CheckFKLineJ))

15. ScoreExp = ScoreExp + 1

16. ClearRow = ClearRow + 1

17. End If

18. Next

19. LEv*l = Int(ClearRow / 20) + 1

20. If ScoreExp > -1 Then

21. getScore = (2 ^ ScoreExp) * 10 * LEv*l

22. Score = Score + getScore

23. End If

24.End Sub

25.

26.Function CheckFKLine(CheckFKLineY)

27. For CheckFKLineI = 1 To 10

28. CheckFKLineHwndArr(CheckFkLineI) = getPointHwnd(489 + 30 *

CheckFKLineI - 15, CheckFKLineY + 15)

29. CheckFKClass =

Plugin.WindowEx5_01.GetWindowInfo(CheckFKLineHwndArr(CheckFkLineI),

1)

30. If CheckFKClass = "361DuButtonClass3" Then

31. CheckFKLine = True

32. Else

33. CheckFKLine = false

34. Exit For

35. End If

36. Next

37.End Function

38.

39.Sub ClearDown(ClearDownY)

40. ClearDownNum = (ClearDownY - 99) / 30

41. TracePrint ClearDownNum

42. If ClearDownNum > 0 Then

43. For ClearDownI = 1 To ClearDownNum

44. ClearStop = 0

45. For ClearDownJ = 1 To 10

46. ClearDownHwnd = getPointHwnd(489 + 30 * ClearDownJ -

15, ClearDownY - 30 * ClearDownI + 15)

47. ClearDownClass =

Plugin.WindowEx5_01.GetWindowInfo(ClearDownHwnd,1)

48. If ClearDownClass = "361DuButtonClass3"

Then

49. getCDRect =

Plugin.WindowEx5_01.GetWindowInfo(ClearDownHwnd, 2)

50. Call

Plugin.WindowEx5_01.MoveWindow(ClearDownHwnd, getCDRect(0),

getCDRect(1) + 30)

51. ElseIf ClearStop = 10 Then

52. Exit Sub

53. ElseIf ClearDownHwnd = MainHwnd Then

54. ClearStop=ClearStop+1

55. End If

56. Next

57. Next

58. End If

59.End Sub

60.

复制代码

第八,落下,移动,消除,都有了,就差变形了,怎么变呢?小猫通过百度玩了一会儿的俄罗斯方块,才找出每一种的变形规律,基本上是以一个方块为中心,其余方块按照一个方向同时转动。这里要注意,如果转动的位置上,有方块的话,那么就无法变形了。

1.Sub ChangeOO()

2. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd1, getFKRect2(0),

getFKRect2(1))

3. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd2, getFKRect3(0),

getFKRect3(1))

4. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd3, getFKRect4(0),

getFKRect4(1))

5. Call Plugin.WindowEx5_01.MoveWindow(getFKHWnd4, getFKRect1(0),

getFKRect1(1))

6.End Sub

复制代码

第九,OK,基本功能都完成了,现在要判断游戏的输赢了,很简单,第一块下来后,如果直接遇到了方块句柄,那就表示游戏结束了。

1.FKYArray=Array(getFKRect1(1),getFKRect2(1),getFKRect3(1),getFKRect4

(1))

2. FKXArray=Array(getFKRect1(0),getFKRect2(0),getFKRect3(0),getFKR

ect4(0))

3. For FKYI = 0 To 3

4. If FKYArray(FKYI) = 69 Then

5. IsFKHwnd = getPointHwnd(FKXArray(FKYI) + 15, 114)

6. IsFKClass = Plugin.WindowEx5_01.GetWindowInfo(IsFKHwnd,

1)

7. If IsFKClass = "361DuButtonClass3" Then

8. Exit Do

9. End If

10. End If

11. Next

复制代码

第十,全部完成,除了部分代码没解释外,差不多都说了,

学习游戏脚本制作:按键精灵里的if语句教程

学习游戏脚本制作:按键精灵里的if语句教程 来源:按键学院【按键精灵】万万没有想到……有一天居然会栽在if语句手里。 First—小编的凄惨经历 小编今早写脚本,由于无意间将if语句中的end if错删了,弹出了这样的错误提示: “(错误码0)没有找到合法的符号。” 看到这个提示,小编以为是哪个逗号不小心写成中文逗号,没成想丢了个end if也是出现这样的提示。 好在代码不多,所以错误点容易找到,那……如果,代码多达几百上千条的时候呢?眼泪马上掉出来~ 今天在这里和童鞋们一起来了解下,按键里的夫妻组合,看看这些夫妻被分开之后都会出现什么样的可怕情况: Second—一夫一妻制 If……end if判断语句 If判断语句,有分为两种: 1、 if语句条(条模式) 当判断完之后,要执行的语句只有一条的时候,使用if语句条

例如: If 1 > 0 Then MessageBox"Hello~" // If语句条,不需要添加end if //条模式的时候,if语句还是单身,不是夫妻组合 2、 if语句块(块模式) 当判断完之后,要执行的语句有很多条的时候,使用if语句块 例如: If 1 > 0Then MessageBox"Hello~" MessageBox"Hello~" End If //块模式的时候,if语句是已婚状态,夫妻组合。如果这个时候缺少了end if 就会出现下面的错误提示: 拓展:if语句块中then 可以省略 例如: If 1 >0 MessageBox"Hello~" MessageBox"Hello~"

End If For……next循环语句 例子: For i=1 To 10 //这里的脚本可以循环10次 Next 拓展:如果,循环体里不需要用到循环次数值,例如,需要打开十个记事本,可以这样写: For 10 RunApp "Notepad.exe" Next 当for循环语句缺少next的时候,会出现下面的错误提示: Do……Loop 循环语句 Do……Loop循环语句分为两种情况: 1、前判断 Do While条件 Loop

按键精灵脚本制作教程: HSV搞定偏色!

按键精灵脚本制作教程:HSV搞定偏色! 来源:按键学院【按键精灵】 院刊《如何识别渐变色或半透明的文字》中, 我们分享了如何通过设置偏色来查找渐变文字, 我们使用的是RGB方式,然后配合偏色计算器来计算出偏色的。 今天我们换个方式,不使用偏色计算器,依靠肉眼对颜色的感觉,看看能不能搞定偏色~ HSV颜色模型 了解HSV颜色模型前,我们先来看看RGB颜色模型 RGB颜色空间采用物理三基色表示:红、绿、蓝 任何一个颜色都是有三基色混合而成的。但是,人的视觉不适应这种颜色体制, 人的肉眼看颜色,不可能像机器一样,分析出颜色里含有多少比重的红、绿、蓝 肉眼看颜色,是通过由色相(Hue,简H),饱和度(Saturation,简S)和色明度(Value,简V)来识别我们看到的是什么颜色。

HSV就是用色相,饱和度和色明度来形容颜色,所以它适合人的视觉。 这个色彩缤纷的圆锥形就是HSV的色彩空间。 我们举个例子好好的理解下它。 例如,我们要找的颜色是,下图中红色点的颜色: 怎样才能描述这个颜色在圆锥里的位置呢? 首先要看圆锥的平面圆,这是一个被颜色块分割了的圆。(这个圆表示的是色相 H)图中为了便于查看,只分了几个大块,实际上,圆的360度每一度都表示着一种颜色。

我们看到了,我们要找的颜色它是在紫色的那一块。 接着我们看圆锥被切开的那个口子, 横向数进去,我们看到,红色点的颜色位于紫色块的第五个位置, 而且,我们发现,越靠近圆锥心,颜色就越淡,好像被掺和了水一样变得不纯洁了。这就是颜色的纯度,即饱和度S 。 最后,我们看圆锥被切开的口子,往圆锥底部而下的变化。 越往下颜色就越暗淡。 这就是颜色的亮度即色明度V 我们发现我们要找的点是在最亮的地方。 三步骤我们就确定了颜色的所在位置。 那么,真正应用到偏色里要怎么应用呢? 我们找个实例操作下~ 偏色处理

按键精灵教程

变量!神奇的小柜子 变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。 使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。 使用Dim命令定义变量,例如: Dim str1 //定义变量str1 Dim var1=22 //定义变量Var1,并且赋值为22 例子1:使用变量设置输出文字的内容 1、下面红色的是3行脚本,请把他复制到“源文件”当中 Dim str1 str1 = "你很聪明" SayString str1 2、Dim str1 就是定义变量,也就是说我们创建了一个小柜子,给他起名为str1 3、str1 = "你很聪明" 就是赋值,我们把"你很聪明"这几个字放到str1这个小柜子里 4、SayString str1 表示我们输出str1这个变量的内容,也就是说把str1这个小柜子里的内容拿出来交给SayString 这个命令去使用。 5、如果你希望修改喊话的内容,只要修改str1这个小柜子里的内容就可以了。 例子2:变量的一些用法 a=1 把数字1放进柜子a中。 b="你猜对了吗?" 把字符串你猜对了吗?放进柜子b中。字符串必须用""包含。 dc=3.14159265 把小数放进柜子dc中。 num1=1 num1=33 num2=55 sum=num1+num2 首先把33和55分别放入num1和num2中。然后把他们取出来,做加法操作(加法是由CPU来处理的),把结果放在sum中。结果sum等于88 num1=1 num1=33 num1被给值为1,然后又给值为33。此时,num1中存储是的33。1就被覆盖掉了。没有了:) sum=sum+1 这句不等同于数学的加法,也是初学者不容易理解的地方。我们只要想,把sum拿出来和1做加法,再放回sum中就可以了。sum原来的值是88,做完加法后,sum等于89。 pig=1 pig=pig*3+pig 能猜出pig最后等于几么?1*3+1。结果是4 例子3:使用变量输入1到100的数字 VBSCall RunApp("notepad") Delay 2000 a=1

学会用按键精灵制作游戏脚本之前后台坐标关联教程

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(0,0,从而获取到的各个窗体的坐标,就是前台坐标。 什么是后台坐标? 以窗口左上角为起点(0,0,从而获取到的这个窗体内的相对坐标,就是后台坐标。 如图: 我们来举个栗子吧,例如txt文本里的输入文字的起始点。

至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。 那么如何进行前后台坐标的切换呢 从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的 任意后台的坐标,不是都可以通过以下计算来获得了: 后台x坐标=客户区前台x坐标-客户区左上角前台x坐标 后台y坐标=客户区前台y坐标-客户区左上角前台y坐标 如何获得客户区前台的x,y坐标呢? 我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。 命令名称: GetWindowRect 窗口边框大小 命令功能:得到窗口句柄的边框大小(包括标题栏 命令参数:参数1 整数型,窗口句柄

返回值:字符串型,边框大小(包括标题栏 注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标 |边框窗口右下角Y坐标 //下面这句是得到窗口句柄的边框大小(包括标题栏 sRect = Plugin.Window.GetWindowRect(句柄 将你所要获取的窗口句柄填入括号内就可以啦~ 范例举例: 举个萌萌哒的例子:向记事本特定位置输入文字。 例如我要往“hello”和“按键精灵”中间插入文字: 2014-9-17 18:03 上传 下载附件(8 KB 思路: 每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。 同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。 1. 先找到目标窗体的左上角坐标 (通过窗体插件命令:GetWindowRect来获取) 2. 再找到目标窗体内,“hello”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

按键精灵 输入框

按键精灵输入框 一、控件介绍 在输入框中单击鼠标会出现插入点光标,我们可以直接在输入框中输入文字或文本信息。二、创建控件 创建输入输入框和之前创建标签的方法是一样的。在工具栏上点击输入框控件。移动鼠标到QUI的窗体上,这时鼠标就会变成“十”字形状,这就说明已经成功选择创建输入框了。然后,在编辑区域按住鼠标左键,框选一块区域,松开鼠标左键。这时界面上就创建出一个输入框出来了,如下图。 三、控件属性 在QUI在输入框的属性总共有10项。其中有4个基本属性和5个位置属性外加1个其他属性(控件样式)。 基本属性分别是:名称(Name)、显示(Visible)、有效(Enabled)、标题(Caption)。 位置属性分别是:左边(Left)、上边(Top)、宽度(Width)、高度(Height)、显示顺序(Z Order)。

其他属性为“密码”。这个属性是为了提供满足用户们输入密码而设计的,当这个属性值为“是”时,在输入框输入的全都了“*”代替。并且该属性在QUI编辑时就已经设置好,在运行过程当中无法修改这个属性。 (1)获取输入框的值 输入框控件是制作界面中最使用的控件类型。主要是提供给用户输入使用的。所以在输入框的控件中最经常发生的一件事情就是获取输入框值的内容。 和标签一样,输入框的内容我们也称它为文本。但是和标签不同的是,输入框文本对应的是T ext。 既然我们知道了输入框上的文本属性是通过Text来访问的。那么我们就在脚本里面获取内容来使用。 在界面中创建一个输入框,默认输入框的名称是“InputBox1”。输入框的文本内容默认也是“InputBox1”。然后我们切换到脚本的源码视图,编辑代码获取文本框控件上的文本内容,并且将这个内容弹窗显示出来。 MessageBox Form1.InputBox1.Text 编辑完成后,点击【保存】,然后进入调试,点击【自定义界面】,可以看到刚才创建的输入框的内容。修改输入框里面的内容,比如修改成“ABCDEF”,点击【保存】,然后【确定】,最后关闭QUI窗体,点击【启动】。 这时就可以看到弹出窗口里面显示着“ABCDEF”。

学习网络游戏找 怪 的思路方法(按键精灵脚本技术)

学习网络游戏找怪的思路方法(按键精灵脚本技术) 很多朋友都不知道如何在游戏中用按键精灵找怪物 请看下面哦 对一些找怪的思路小有体会。简单来说找怪就是找怪与背景不同的独有的特征,可以通过找怪的颜色/图片、怪名字颜色/图片、怪血条颜色/图片、渐开线扫描、小地图找怪等等的方法来实现。具体看游戏而定,下面就介绍几种找怪的方法: 1。区域找色应该说是最简单的找怪方法了,在区域里查找怪的特有颜色、名字颜色、血条颜色、怪的阴影等等。如果找到移动鼠标到怪身上进行攻击(推荐用区域模糊找色或从区域中间向外找色)。 例子(区域模糊找色): VBSCall FindColorEx(0,0,1024,768,\"FFFFFF\",1,0.8,x,y) //区域模糊找色,0,0,1024,768为区域范围,\"FFFFFF\"为颜色,1为查找方式(中间向外),0.8为模糊值,x,y为找色后储存坐标的变量If x>=0 and y>=0 //如果找到颜色(通过判断坐标变量是否在区域内就可以知道有没有找到目标) MoveTo x y //把鼠标移动到该色的坐标(如果找的是怪名字或血条,可能移动不到怪身上,这时就要用鼠标偏移如:MoveTo x+10 y+10)

Delay 50 //延时 LeftClick 1 //左键单击进行攻击 EndIf //条件结束 用数组区域查找多色:点击查看 注: ①。区域范围的定位: 区域范围指的是被搜索区域的范围,这4个参数分别指的是区域的左,上,右,下。简单的说就是取区域的左上角x,y坐标和右下角的x,y坐标,把这4个数值依次组合起来就是一个区域范围了。 ②。很多朋友对最后两个坐标变量x,y不太了解,在这里通俗的解释一下: 顾名思义,这两个变量是用来贮存找色或找图后的坐标。当找到目标后,把目标所在的坐标位置贮存到这两个变量里,然后可以通过判断这两个坐标变量是否在区域范围内来确定是否找到了目标。如果找到目标,贮存的是目标所在的坐标位置。如果没有找到,那贮存的则是-1,所以我们也可以通过if x=-1 and y=-1 来判断没有找到目标。

2018-2019-按键精灵知识-word范文模板 (11页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 按键精灵知识 篇一:按键精灵新手入门 按键精灵文档简介: 基本信息→基本介绍→使用说明→软件功能→软件特点→使用方法→更新日志→常见问题→安全认证 按键精灵: 按键精灵是一个模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,按键精灵都可以替代完成. 按键精灵基本信息:软件版本:按键精灵(Quick Macro) 9.0版 软件大小: 7.93MB 更新时间: 201X-08-11 软件类别:国产软件 / 键盘鼠标 软件语言:简体中文 / 繁体中文 应用平台: Win9x/Win201X/WinXP/WinVista/Win7 软件性质:免费软件 开发商:兄弟工作组 按键精灵会员注册: 按键精灵基本介绍: 按键精灵可以帮你操作电脑。类似于按键精灵的软件有 "

按键游侠","super-ec"等。从编程的角度看,集合一些插件的脚本编辑、调试工具。代码不公开。生成的小精灵,模式化界面,界面中有广告,以此盈利 软件功能:1.网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; 2.办公族可用它自动处理表格、文档, 按键精灵 自动收发邮件等 3.任何觉得“有点烦”的电脑操作都可以替完成。按键精灵软件特点: 1.操作简单,非常容易上手; 2.功能强大,脚本语句丰富; 3.界面友好,使用鼠标就可以完成大部分脚本的制作动作 4.兼容性好,支持大部分Windows下的软件 5.拥有“神盾”保护功能。 按键精灵使用方法:第一步:设计脚本功能 按键精灵 写脚本之前要想清楚自己要做什么功能。在这里来制作一个每隔5秒自动按F5刷新网页的脚本。 第二步:设计脚本 为制作了组图来说明如何制作这个脚本。 做任何脚本都是两步:第一步先设计功能,第二步就是用按键精灵提供的命令完成这些功能。 常见问题: 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 按键精灵软件如何制作脚本?

按键精灵经典教程

按键精灵经典教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页)五、网游脚本实例(35~最后)

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模

4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 6. 7.KeyDown "A",1 8.//上面的支持按键字符,语句表示按住A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模 拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 命令名称:KeyPress 按键 命令功能:键盘按键 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件 模拟方式的注意事项 4.KeyPress 65,1 5.//65是A键的按键码,上面的语句表示按A键1次 6. 7.KeyPress "A",1 8.//上面的支持按键字符,语句表示按A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件

学会用按键精灵制作用脚本运行可执行程序

学会用按键精灵制作脚本之RunApp 运行命令教程: 用脚本运行可执行程序 来源:按键学院【按键精灵】Runapp命令,看上去是不是觉得so easy ?不就是runapp 某个程序的路径,然后就可以打开这个程序了吗?老话怎么说来着,越简单的东西越是不简单。Runapp使用起来也是处处暗藏杀机滴。 Runapp命令是个啥? 命令名称RunApp 运行 命令功能启动一个程序或者打开一个文件 命令参数参数1 字符串型,要运行的程序或者文件 重头杀机——你所要启动的程序是带参数的,runapp 不支持启动带参数的程序。 首先,我们可以使用进程查看工具,查看下我们要启动的程序是否是带有参数的。

然后,我们打开进程查看工具,然后点击我们要查看的程序,例如QQ程序。 图1的是QQ的快捷键方式属性;图2是进程工具查看到的QQ程序信息;图3是进程工具界面如果是带有参数的程序,用进程工具打开之后,弹出的图2界面,在程序路径后面会出现参数。 例如:F:\桌面\程序目录\Not.exe $-fl$ 解决方法之一: 1. 鼠标右键,创建快捷方式 1)右击创建好的快捷方式——>属性: 2)“目标内容”填写目标文件路径及参数: 3)F:\桌面\程序目录\Not.exe $-fl$

4)“起始位置”填写目标文件夹: 5)F:\桌面\程序目录 (用进程查看工具查看,有的情况下会发现,程序所在的位置并不是程序的目录,这里要注意确认,一定要填写程序的其实位置,程序所在的目标文件夹的位置) 如图所示: 2. 使用RunApp启动这个快捷方式,例如在此快捷方式在桌面时。 Call RunApp("C:\Users\Death\Desktop\Not.exe.lnk") 经过上面的两步就可以达到预想的目的了。 解决方法之二:

按键精灵图文教程

手把手教你用“按键精灵”图文教程 类型:转载 按键精灵是一个可以模拟电脑操作的软件,您在电脑上的一切动作都可以让按键精灵模拟执行,完全解放您的双手。按键精灵可以帮你操作电脑,不需要任何编程知识就可以作出功能强大的脚本。 如果你还为一些枯燥、繁琐的电脑操作而烦恼,按键精灵绝对会是你最好的帮手。 那么,按键精灵具体能帮我们干什么呢?我们来列举几个例子来说明下。 * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; * 办公族可用它自动处理表格、文档,自动收发邮件等; * 任何你觉得“有点烦”的电脑操作都可以替你完成。按键精灵第一个实现了“动动鼠标就可以制作出脚本”的功能。我们不希望为了使用一个小软件而去学习编程知识,考虑到这些,所以按键精灵完全界面操作就可以制作脚本。按键精灵的脚本是纯粹的TXT文件,即使是目前新增了插件功能,也引入了数字签名的机制。因此我们可以放心的使用网站上的脚本而不用担心会有病毒。 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 图1 运行界面 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。

按键精灵教程:启动热键的设置技巧

按键精灵教程:启动热键的设置技巧 来源:按键学院【按键精灵】热键设置 启动热键:启动当前脚本 暂停/继续热键:暂停或继续当前脚本。(暂停之后再继续,是从脚本暂停的位置继续向下执行,而不是重新运行脚本) 中止热键:结束当前脚本。 全部中止热键:结束所有脚本。 热键可以设置为一个单一键,例如:F10、F11 也可以设置组合键,例如:ctrl+a、ctrl+b 还可以设置为鼠标键,例如:鼠标左键单击、右键单击等

单一键的设置 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:F7 设置方式十分简单,但是我们会发现,如果我们点击输入框按下enter键又或者是shift键时,不能成功的设置热键 要怎么解决呢?

要设置这些特殊键为启动热键时,我们可以点击热键输入框后面的倒三角红色按钮,然后点击键盘热键,选择我们需要的按键 组合键的设置 组合键的设置和单一键的设置方法是一样的 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:Ctrl+A 或者三个组合键:Ctrl+Alt+A 鼠标热键的设置 要设置鼠标键为热键,不能直接在热键输入框里点击鼠标键来设置 需要点击热键输入框后面的倒三角红色按钮,然后点击鼠标热键,选择我们需要的鼠标键

热键模式设置 当我们在一些游戏里,发现启动热键按了无效的时候。我们可以尝试更换热键模式再使用。我们可以理解为,每个游戏的机制不同,就像人一样,有的喜欢吃甜有的喜欢吃辣。而我们的热键模式就好比是:酸甜苦辣咸。 不喜欢酸就换成甜,不喜欢甜就换成辣,口味多样,总有一款适合你。 热键模式有五种: 普通模式:不占用热键原有功能,兼容性稍差 增强模式:兼容性最好,但占用热键原有功能 硬件模式:能解除屏蔽,只适用于win2000以上 软件模式:兼容性好,但可能被误报木马或病毒 共享模式:兼容性好,可适用大部分操作系统 设置方式: 1、点击设置按钮 2、点击热键,即跳转到热键模式的设置界面

按键精灵学习教程

按键精灵学习教程 一、 1、子程序和函数调用演示 //<>---------------------------------------------子程序调用 Call 普通子程序() Call 代入参数的子程序(100,50) //<>---------------------------------------------函数调用 Msgbox 代入参数的函数(100,50) Sub 普通子程序() Msgbox "我是普通子程序,被调用了" End Sub Sub 代入参数的子程序(a,b) c=a+b Msgbox "我是代入参数的子程序,被调用了。结果值为:" & c End Sub Function 代入参数的函数(a,b) c=a*b 代入参数的函数= "我是代入参数的函数,被调用了。结果值为:" & c End Function 2、重启脚本运行演示 For i=0 to 2 Delay 1000 Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF") Next RestartScript //重新启动脚本运行 3、中文名变量演示

//<>---------------------------------------------用户自定义变量支持中文名为变量名 UserVar 启动=DropList{"打开":1|"关闭":0}=0 "补血启动开关" UserVar 补血=0 "补血百分比%" //<>---------------------------------------------定义变量支持中文名为变量名 Dim 提示 提示="补血启动开关未设置打开!" If 启动=1 Then Msgbox "补血百分比为:"& 补血& "%" Else Msgbox 提示 End If 4、选择条件结构演示 UserVar 变量=0 "输入(0~9)数字" //<>---------------------------------------------以下是选择条件结结构判断 Select Case 变量 Case 0 Msgbox "你输入的数字为:0" Case 1 Msgbox "你输入的数字为:1" Case 2 Msgbox "你输入的数字为:2" Case 3 Msgbox "你输入的数字为:3" Case Else Msgbox "你输入的数字不正确,请输入(0~3)数字!" End Select 5、下拉型用户自定义 //说明:{}当中是下拉的选项=0是指的默认显示哪个选项(从0开始) UserVar Var1=DropList{"低于10%时补血":"0.1"|"低于20%时补血":"0.2"|"低于30%时补血":"0.3"}=2 "自动补血设置" UserVar Var2=0 "普通自定义变量" MessageBox(Var1) MessageBox(Var2) 6、退出脚本运行演示

按键精灵录制教程

脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。现在就可以正式开始编译脚本了。

在脚本编译器界面上,左键点击工具栏上“录制”项,会出现这样的情况:进入桌面,并出现一个小的对话框(如图4)。 在这个小的对话框中,左侧红色圆按钮是录制的开始,第二个蓝色方按钮是录制结束,第三个是存储录制内容。在录制过程中该对话框可以随意移动,不会影响录制结果。 我们来点击红色圆形按钮开始录制(图5)

开始录制后我们把这个小的对话框移至窗口右下角,然后用鼠标点击左下角任务栏的IE浏览器标志,来打开浏览器(如图6)。 随后在地址栏输入博客地址(如图7)

进入博客主页(如图8) 用鼠标拖动滚动条,浏览整个页面。 看完后关闭页面,然后点击录制对话框的蓝色方形停止键(如图9) 之后点击第三个按钮,来保存录制动作并进入脚本编译界面。现在我们可以看到在编译界面的中部,有“按键精灵录制的内容”这句话显示。这句话的下面有

“鼠标移动”、“延时”、“按键动作”等记录的录制过程中的各个动作。 现在就让我们来检验下刚才的一系列动作是否已经记录好。点击工具栏的“调试”按钮(如图11)。 进入调试对话框(如图12)。

零基础学按键精灵(第一章)

程序结构介绍 此文为小妖首发于按键精灵论坛。借百度平台转发,希望能够帮到学按键的朋友。 当然,我自己也是一个新手,只不过,我能看一点代码,做点帮助自己的减少工作量的脚本。也达不到那些大神们,对API、dos(貌似有更多东西,可惜我只知道这些)等等理解深刻理解的大神那样,做到自己写代码优化脚本。我只能站在这些大神们做好的东西上,去做一些自己喜欢做的事。 估计很多人和我当初一样迷茫。看着按键的教程,学按键教程里面录制、跳转标记、找色、找图、找字。然后弄出个满是goto。。。的脚本。最后自己都不知道脚本写的是什么。 一开始就学补血、补篮、找图打怪。不仅弄出来的脚本,自己糊涂,给别人看,别人都糊涂。 那怎么徐徐渐进呢? 个人理解来说,我们应该从小到大。 实际上,按键是基于VBS开发出来的(不知道这句话对不对,反正就是类似VB。。。)。 一个脚本,基本上都遵循着程序结构来写的。 这儿介绍3种基本的程序结构:

1. 顺序结构。顺序结构就是按照运行顺序决定。 比如: 1.TracePrint "第一次" //调试显示“第一次” 2.TracePrint "第二次" //调试显示“第二次” 3.TracePrint "第三次" //调试显示“第三次” 这段代码,就是依次显示第一次第二次第三次。 一条一条的运行,一条一条的显示。当然,这儿你完全可以单步调试来查看运行顺序。 2.选择结构。选择结构是判断一个值,是否为真,为真的话怎么样,为假的话怎么样。 比如: 1.If 1 = 1 Then //判断 1=1 是否成立 2. TracePrint "真的相等" //成立则调试显示真的相等 3. Else //如果不成立 4. TracePrint "不相等" //不成立则显示不相等 5.End if //判断语句结束 这段代码,第一句的时候,就在做判断,是否相等,相等就执行紧接着的那条,不相等的话,就执行Else 后面的那条。双斜杠// 后面的字是注释,不会直接运行。这儿是用来给大家解释语句的。可以删除,不影响脚本运行。 3.循环结构。循环结构有很多。比如,do … loop 循 环While … wend 循环for … Next循环等等。我这儿不是教程,也就不一一介绍,大家可以去找相关教程。

按键精灵教程

按键精灵可以帮你操作电脑。不需要任何编程知识就可以作出功能强大的脚本。只要您在电脑前用双手可以完成的动作,按键精灵都可以替您完成。 按键精灵官方网站是:https://www.360docs.net/doc/be122603.html,/cn/qmacro 从编程的角度看,集合一些插件的脚本编辑、调试工具。代码不公开。生成的小精灵,模式化界面,界面中有广告,以此盈利。 使用环境 操作系统:Windows 98/98SE/Me/2000/XP/2003/Vista 软件支持:支持绝大多数软件,部分网络游戏中可能失效,但可尝试"神盾"功能,提高按键精灵的兼容性 按键精灵能帮我做什么? * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等 * 办公族可用它自动处理表格、文档,自动收发邮件等 * 任何你觉得“有点烦”的电脑操作都可以替你完成 上手指南 按键精灵是一个容易上手,但精通较难的软件。第一次接触它,自然会希望尽快熟悉它,让它为您工作。但如何上手呢?我来提供一些技巧 1、试:提供了免费试用,下载试用版安装后就可体验自带的例子。 2、学:上网看按键宝典,教程、实例统统都有,不懂还可上论坛提问。 3、用:边用边学,作出自己第一个脚本,你就入门啦~ 4、精:操作电脑的不便,都用脚本来解决,你的脚本也可以越来越聪明! 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 如何制作脚本? 初学者可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本. 如何使用脚本? 使用步骤如下: 1. 制作脚本:按照个人需求从网上搜集脚本或者自己制作脚本。如果您的脚本是从别的地方收集的,请先把脚本文件拷贝到按键精灵文件夹下的script文件夹中,然后再运行按键精灵。 2.选择有效的窗口:建议您选择“对所有窗口有效”。如果您只需要脚本当某个窗口在前台时有效,请选择窗口名称,比如“龙族” 3.让需要执行的脚本“有效”,只有“有效”一栏中勾中的脚本才会执行。 4.进入游戏(或者其他需要使用按键精灵的软件),在需要使用脚本的时候按下脚本的“快捷键”,按键精灵就会忠实的为您工作了。 5.希望脚本暂停的时候按下中止热键,即可暂停脚本. 什么是简单游? 简单游是一个拥有上千个按键精灵游戏脚本的软件平台,是按键精灵的网络游戏版.上网看简单游 什么是按键宝典? 按键宝典是兄弟工作组提供给用户的帮助大全,包含使用手册、经典脚本、各种动画教程等等。上网看按键宝典 什么是按键小精灵?

按键精灵使用方法

“按键精灵”是一款全新概念的键盘鼠标动作模拟软件,它可以借助预先定制好的成百上千种动作脚本实现各种形式键盘鼠标动作的完美模拟或替代,用户几乎不需要什么专业脚本语言知识即可通过软件所独创的脚本模板来定制脚本、调用和运行特定脚本,从而快速实现键盘鼠标动作的“复制”。这款软件最大的本领之一就是可以几乎模拟所有的键盘鼠标动作,比如用户定制一个论坛注册ID的动作脚本,则软件就可以在各个指定的论坛为用户自动注册新用户ID,用户既不需要通过鼠标点选在各个论坛间切换,也不需要手工输入注册信息,是不是极大的节省了用户的操作时间?又是不是最大程度的降低了键盘鼠标的使用损耗呢? 一、小试身手,看看这软件能干啥 “按键精灵”既然能够代替用户进行各种各样的电脑操作,那么我们就不妨来亲身进行一番验证。打开软件(如图1),在它的主界面中用户可以看到软件已经将其内置的上百个现成的动作脚本按照日常应用、网络游戏、鼠标右键点我和脚本技巧等用途类别进行了归类,这样当然是方便用户的查找和用户日常对动作脚本的管理。

图1:新版“按键精灵”的主界面 接下来我们随便挑选一个动作脚本,比如“日常应用”中内置的一个叫做“QQ消息群发器”的动作脚本,这是一个可以自动向特定QQ好友连续群发消息的动作脚本。用户首先在QQ软件中打开对方好友的聊天窗口,接着将“按键精灵”切换到“日常应用”面板(如图2)。 图2:软件的“日常应用”面板

选中那个“QQ消息群发器”的目标动作脚本,随后按下软件默认的启动动作脚本快捷键F10,则软件即可自动按照该动作脚本预先定制好的群发内容和每一句消息发送之间的时间间隔来群发消息,而用户呢?可以在一旁端着咖啡偷着乐吧。事实上,软件内置的这个动作脚本,就是每隔1秒钟,自动向对方QQ 好友发送一句李白的“静夜思”的诗句(如图3)。 图3:在QQ聊天窗口自动群发消息 应用提示:针对这个动作脚本,如果用户想修改一下自动发送消息的内容或调整一下每个句子间发送

按键精灵游戏开发教程

按键精灵游戏开发教程 来源:按键学院【按键精灵】 渐开线找怪是一种高效率的找怪方法,以角色为中心点,向外扩散,找离角色最近的怪物。 渐开线 画渐开线重要的几个点: 1、起始点坐标 2、线与线之间的距离。

3、转向。 4、线长。(上图中,渐开线并不是一口气画完的,是一段线一段线的画。) 游戏里的规律 咱们今天讲的例子是2D游戏《神涂》。渐开线要怎么应用到游戏找怪呢? 咱们先了解下游戏里的规律,再将渐开线套用进去。 规律1: 在2D游戏里,角色、怪物移动的距离是固定的,就像走在棋盘里一样,移动一步就像走了一个格子。 在今天的游戏例子中,角色、怪物横着走一步是48个像素点,竖着走一步是32个像素点。(不是所有2D游戏都是这样的规格)

那么,如何知道一步的距离是多少呢? 我们可以获取角色血条的第一个像素点坐标,然后向上移动一步,再次获取血条第一个像素点坐标。y坐标的差值,即是竖走一步的距离,用同样的方法,横走一步即可获得横走一步的距离 规律2: 离角色越近的怪物,格子的圈数越少。

经过图片的分析,情况一目了然。 以角色为中心,一圈圈往外扩散,不正是渐开线么。 渐开线找怪思路 1、以角色右边一格为渐开线起始点,一圈圈往外遍历格子。(不一定要角色右边一格为起始点,上下左右都可以,不要以角色为起点即可。因为咱们的角色血条也是红的,如果从角色那一格开始遍历,那么一开始就找到角色自己的血条。) 2、遍历到第26个格子的时候发现怪物,角色移动过去打怪。打完怪物之后,以当前角色所在位置的右边一格为起始点,再次开始渐开线找怪。 例如:渐开线是8圈,遍历了8圈格子,其中第三圈和第五圈都有怪物。 遍历到第三圈找到怪物,角色移动到怪物点打完怪。 剩下的五圈继续遍历扩散,但不判断有没有怪物。

游戏辅助制作教程:用按键精灵如何确定人物朝向(以剑灵自动寻路为例)

游戏辅助制作教程:用按键精灵如何确定人物朝向(以 剑灵自动寻路为例) 来源:按键学院【按键精灵】按键学院实战班前段时间沸沸扬扬的讲解着自动寻路教程。今天,咱也来跟大家分享分享,实战班自动寻路思路之——确定人物朝向(箭头的方向角度)。 不少网络游戏已经支持自动寻路,玩家只需要设定终点后,游戏人物即可自动寻路,但是碰到某些未自带自动寻路功能的游戏,就呵呵呵了…… 院刊今天跟大家分享两款热门游戏的人物朝向判定~~知道了人物朝向,再知道目标的朝向,不就知道怎么自动寻路了嘛~ 按键学院实战班的07老师整理了自动寻路的三要素,给大家分享: 自动寻路一般需要确定三个要素: 确定路线 确定朝向 确定位置 确定了人物位置和物品位置,再确定了人物的朝向,与目标路线。将人物转向目标就可以用脚本实现自动寻路的功能。 剑灵模式的地图的寻路:游戏画面右上角有小地图,地图中灰白色箭头代表人物。

三角函数知识: 斜率:已知A、B点坐标,求直线AB的斜率。 斜率公式k=(y1-y2)/(x1-x2),即两个坐标纵坐标之差,除以两个坐标横坐标之差。正切函数:正切函数是直角三角形中,对边与邻边的比值。 在上图中,即tanα=b/a=(y2-y1)/(x2-x1)。在按键精灵中为Tan函数。

通过公式对比,我们可以知道,直线AB的斜率,即角α的正切值 角度:已知角α的正切值,我们可以通过反三角函数公式,来计算这个角度的值。 α=arctan(k)。在按键精灵中为Atn函数。 反三角函数:即相对应的正弦、余弦、正切、余切为x的角。 如何实现箭头角度计算: 从上面的三角函数知识拓展中,我们知道,要计算一个角度,可以通过计算该角度的正切值,再通过反三角函数来求这个角度。 那么,在按键精灵的代码中如何实现呢? 思路: 1. 通过找图找色命令,找到箭头顶部A的坐标,以及箭头底部中间B的坐标。 2. 构建直角三角形。确定箭头的指向的角度α。 3. 通过斜率/正切函数,来计算角度α的正切值。 4. 通过反三角函数,来得出角α的角度值。 代码实现: ‘在剑灵右上角的小地图里找色/找图,箭头坐标存储在(x1,y1),箭尾坐标存储在(x2,y2) FindColor1200,0,1920,300,"箭头颜色",x1,y1 If x1 > 0 And y1> 0 Then End If FindColor1200,0,1920,300,"箭尾颜色",x2,y2 If x1 > 0 And y1> 0 Then End If '计算斜率/正切值 斜率= (y1 - y2) / (x1 -x2)

按键精灵脚本制作教程:如何实现同时按多个键

按键精灵脚本制作教程:如何实现同时按多个键 来源:按键学院【按键精灵】 最近发现许多小伙伴,提出类似这样的问题:“我手动按下v键,希望达到的效果是同时按下了Ctrl和V键”那么,要如何实现呢?我们今天就来分享下,几种实现方法。 方法1-键盘命令 步骤: 1、检测键盘按键,如果按下v则进行下一步 2、按住ctrl键不放 3、按下v键 4、弹起ctrl键 代码: Do Key = WaitKey If key = 86 Then 'v的按键码为86 KeyDown 17, 1 'ctrl 的按键码为17 KeyPress 86, 1 KeyUp 17,1 End If Loop

以上是按下某一个键,达到的效果是按下组合键的方法 如果希望按下某一个键,达到的效果是按下另外两个非组合键,例如按下V,实现的是按下W和C 代码如下: Do Key = WaitKey If key = 86 Then 'v的按键码为86 KeyPress 87, 1'W的按键码为87 KeyPress 67, 1'C的按键码为67 End If Loop 方法2-命令库命令 步骤: 1、检测键盘按键,如果按下v则进行下一步 2、调用我的命令库——>键盘——>键盘组合键命令 此命令的第一个参数,键盘码要怎么写呢? 例如,我们要按下Ctrl+V 键,那么参数1的值就为"Ctrl+V" 如果,我们要按下Ctrl+Alt+V 键,那么参数1的值就为"Ctrl+Alt+V"

代码: Do Key = WaitKey If key = 86 Then 'v的按键码为86 Call lib.键盘.键盘组合键("Ctrl + V",0) End If Loop 如果希望按下某一个键,达到的效果是按下另外两个非组合键,例如按下V,实现的是按下W和C 我们需要用到我的命令库——>键盘——>键盘按键组命令 此命令的第一个参数,和键盘组合键命令的参数写法不一样 例如,我们要按下W和C键 那么,参数1的值就为:"W,C" 键与键之间用逗号隔开 代码: Do Key = WaitKey If key = 86 Then 'v的按键码为86 Call lib.键盘.键盘按键组("W,C",0,0) End If Loop

相关文档
最新文档