• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.2.9
软件大小:62.5M
更新时间:12-07

按键精灵iOS版
立即下载

软件版本:1.3.1
软件大小:29.2M
更新时间:09-29

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[按键精灵手机版2.5基础教程] 2.不离不弃的官方例子 [复制链接]

1#

按键精灵手机版2.5基础教程

2.不离不弃的官方例子


神奇的官方例子是如何做到的呢?让我们来一探究竟,打开脚本源文件视图:




可以看到,源码并不复杂,简约的40多行,就能达到效果,你写的时候也会是这样的!简约而不简单。现在进入源码的世界吧。


1.基础中的基础----关键字与变量

关键字是按键里已经定义好的一些含有独特功能的标识符(暂时可以理解为命令),这些命令可以直接使用,不需要你再去定义它。举个栗子(例子?),我们想要显示一句话,于是这么写:




调试运行后得到:


显示一句话的说法如此之多,计算机不可能全部认到,因此我们需要一些约定好的说法(命令)。


变量是用来存放用户自定义的数据,在脚本执行过程中可以自己去变化他,变量使用Dim关键字进行标识,如下图,名字就是变量,脚本过程中可以赋值为小明,也可以赋值成小红,用”=”符号进行赋值。



变量与标识符一样要以字母或者汉字开头。



明白了关键字与变量后,我们再来看看官方例子的源码,其中蓝色部分都是按键精灵定义好的命令(他是蓝色的,再也不担心自己写的标识符和按键定义好的重复了!)


PS:同时定义多个用逗号分隔)


图中不就是变量的定义与赋值吗!至于赋值的内容,翻开之前的命令大全查看吧(自力更生吧少年,自己找到他印象更为深刻哦)。


2.运算符

1算术运算符:算术运算符是用来进行基本的数据计算的,和数学中的算术运算基本一致,包括优先级等等。(小学数学有木有,学起来!)

常见的有+-*/,也就是加减乘除(记住吧),还有一些比较少用到的,比如求余的运算符mod等等(知道有即可,需要用再去找)。


2关系运算符:关系运算符是用来比较两个数,确定两个数关系的。关系表达式返回的是一个布尔型(TrueFalse,也就是真或假),比如1>2,这个是不成立的,因此他返回的结果是False

常见的有=><>=<=<>,都很好理解,功能分别是等于、大于、小于、大于或等于、小于或等于、不等于。关系运算符常常和判断语句一起使用。


3逻辑运算符:关系表达式只能判断一次,而实际上我们经常需要多个条件判断,比如“我要寻找一个上衣穿黑色,并且手里提着笔记本的人。这时候就需要用逻辑表达式来同时进行2次判定。

常见的有AndOrNot等等,两个条件要同时成立就用And连接两个判断语句,两个条件只需要一个成立就用Or连接两个判断语句。



3.Delay

官方例子的脚本中,我们看到最多的就是Delay,他的意思是延时,我们做的任何操作,都是在时间轴上的,第一秒做了什么,第二秒又做了什么,在代码中,就是用延时来给手机反应的时间,Delay后面的参数为时间,单位为毫秒,即Delay 1000,是为延时1000毫秒(也就是1秒)的意思。

  1. Delay 1000 //延时1000毫秒,也就是1秒再往下执行
复制代码

4.Tap和Touch之间的故事(哦,忘了还有你---KeyPress)

游戏或者应用中,最基础的操作方式就是点击,我们来研究一下一个点击操作究竟有哪些步骤:

1) 触摸屏幕中的一个位置

2)经过一小段时间的延时

3)放手

用代码表示即为:

  1. TouchDown x,y,1 //x,y为坐标,也就是点击屏幕的位置
  2. Delay 50
  3. TouchUp 1
复制代码

一个点击操作就需要如此麻烦,那有木有更简单的办法呢?答案是有的,我们可以用Tap x,y 来代替上面的三行代码,除了不适合用在多点操作以外,其他功能是一样的(其实就是用Touch封装的)。

xy为坐标,那么问题来了,挖。。。咳咳,手机游戏有的是横屏,有的是竖屏,我们要怎么确定这个坐标呢?为了防止混乱,我们强制使用竖屏时候的左上角作为坐标系的起点,让我们来看看图就明白:




手机的屏幕显示的内容都是由一个个像素点组成的,如果不明白,可以百度自己的手机型号,查找到分辨率这一项属性(安卓不像windows分辨率可调整)。


噢,别忘了还有KeyPress,作为PC端最常见的输入手段,在安卓中也是有的,常用的安卓三键(主菜单,主页,返回)就是使用KeyPress来点击。分别为:

  1. KeyPress "Menu"
  2. KeyPress "Home"
  3. KeyPress "Back"
复制代码

当然你并不需要特地去背下来,还记得我们手机助手的快捷命令区吗?




5.又一个故事----这次是ShowMessage和TracePrint


官方例子中,我们除了看到各种操作外,还看到了每一个操作附带的提示信息,这种短暂的提示,对于使用者来说相当友好,也方便自己开发时用来显示调试内容(温馨提示:两个ShowMessage之间最好要有1秒以上的时间间隔哦,否则第二个ShowMessage会遮住第一个的)。当然,如果用来做调试,ShowMessage并不是一个好选择,我们来看看他的兄弟----TracePrint作为开发脚本的作者,游戏中的逻辑相当之多,一旦代码量上来了,运行的时候就需要在各种分支或者操作加上TracePrint的调试信息,方便我们知道脚本到哪了。
  1. KeyPress "Menu"
  2. TracePrint "点击了菜单键"

  3. KeyPress "Home"
  4. TracePrint "点击了主界面键"

  5. KeyPress "Back"
  6. TracePrint "点击了返回键"
复制代码
上述代码,如果我们发现调试信息只到”我点击了HOME键“,那么很快就可以定位到错误的地方。(当然,以下脚本并没有问题)

我们讲了输出自己写好的调试信息,但是在很多情况下并不友好,比如我在一个循环内想输出循环的次数,固定的输出信息并不能满足我(难道要一条一条去数吗),那么,我们可以在输入信息中加入自定义的变量,然后就可以在输出里面看到调试的信息,是不是很方便呢!(循环之后会讲哦)

  1. Dim 循环次数 = 0
  2. Do
  3. Delay 1000
  4. 循环次数 = 循环次数+1
  5. TracePrint “循环次数:”&循环次数&“次”
  6. Loop
复制代码
6.动一动----Swipe(没错,”他”和Touch也有关系)
又一个游戏或者应用中常出现的操作----划屏,简单粗暴的使用Swipe进行吧。
  1. Swipe 10,10,100,100,300 //从坐标10,10划动到坐标100,100,历时300毫秒
复制代码


然而很多情况下,我们希望能够长按一段时间再进行移动(比如拖动软件位置时),又或者希望能滑动后停顿一段时间再抬起,防止列表由于惯性又滑动了一段距离(很多游戏都这样!),Swipe并不适合这种情况,那么问题来了,挖掘机。。。(你够了!)我们需要使用Touch命令来解决这个问题,直接贴代码:

  1. TouchDown 10, 10, 1
  2. Delay 1000
  3. TouchMove 100, 100, 1, 300
  4. Delay 1000
  5. TouchUp 1
复制代码

我们在点击后延时1秒进行移动,经过300毫秒移动完毕后等待了1秒才抬起。一个简单的滑动居然需要5行,要是需要使用的地方一多,岂不是很麻烦,我想要一行就搞定行吗?当然没问题,继续贴代码:

  1. SwipeByDzc 10, 10, 100, 100, 1000, 1000, 300
复制代码

这么写的话。。。。运行的时候会报错(你丫的),当然还没结束,我们需要在脚本的其他地方加上:

  1. Function SwipeByDzc(StartX, startY, EndX, EndY, LastTime1, LastTime2, MoveTime)
  2. TouchDown StartX, StartY, 1
  3. Delay LastTime1
  4. TouchMove EndX, EndY, 1, MoveTime
  5. Delay LastTime2
  6. TouchUp 1
  7. End Function
复制代码

于是就可以使用了,这个属于函数的用法,这里先不用关心(好吧,我故意的,想知道函数的用法吗?想知道就继续关注按键学院吧)。

点评

hungchih919  新手, 努力學習中
謝謝  发表于 2017/4/19 11:50:12

最后编辑兄弟工程师13 最后编辑于 2015-09-25 17:04:01
本主题由 按键工程师 兄弟工程师13 于 2015/9/28 14:18:03 执行 移动主题 操作
2#

首先我很喜欢写教程的大哥~~~语言很诙谐幽默~~~~你是我的园丁~~~另外做视频的小哥你的声音真好听,虽然我是男的~~~我不介意为你而弯

点评

amaomaomao  +1哈哈  发表于 2017/1/2 22:08:17

3#

哎学习总是枯燥乏味的~~~今天端午节,而我却在学习

4#

回复 1楼兄弟工程师13的帖子

是怎么做到VB语法生成安卓程序的

5#

顶下,占个位置。

6#

学而时习之

能想到,但不一定能做到。
动动手,更容易发现问题。
7#

声音很好听

8#

怎么样还不错

9#

看过

10#

得学多久才可以

11#

得学多久才可以

12#

都没看过这个.

接单QQ:31377015。11年信誉保证!组别:〖官方脚本作者

PC,安卓,模拟器,IOS脚本定制!

自动办公,网页操作,填表投票,账号注册,游戏任务,聊天引流,数据监测,操作软件!
13#

基础还是相当重要的

14#

从头开始学习

15#

回复 5楼sulen的帖子

可以注意到生成的安卓程序基本上都是10m左右的大小,所以推测这10m绝大部分包含的是类似编译器之类的东西,用于把我们写的东西读出来并转成安卓的操作,而不是我们写的代码直接生成了apk,我们的代码还是按键的代码,以上纯属yy,大佬勿喷

16#

回复 1楼兄弟工程师13的帖子

好教程,学习学习

17#

这教程是教会的人还是教没会或者是没基础的人呢 乱七八槽的解读

18#

新手学习感谢

19#

写得太好啦!!!!!

20#

清晰明了,入门了。

---------------------5年多的编程经验,专业定制pc、安卓、模拟器脚本。
-
---------------------经济实惠有偿解决按键精灵基础问题。
-
---------------------联系QQ:3277595608
发新话题 回复该主题