简介:类似的心得帖子已经发过了,这里重新发帖也是做个详细的补充,增加下可读性。
旧帖:
脚本主线循环结构框架演示需知:顾名思义,来这都是想了解脚本是什么的同学,那么你们是否想过脚本的构成,既然脚本是用来代替人工解放双手,那么该有的不能丢下。
核心:脚本是代替人工操作,那么该有的都不能少,这里我们拿一个团队做比喻。
1、一个主团长(
主线循环),负责管理指挥团小组。
2、若干副团长(
支线循环),负责协助团长管理。
3、若干团小组(
功能模块),安排好各小组任务,分工执行。
4、若干团成员(
代码命令),真正负责执行做事的单位。
5、若干团精英(
固定模块),专精负责处理固定事件。
当然,以上是一个脚本基础的组织结构,里面还是有许多细节需要注意,比如思路逻辑判断该如何构思,这里就不讲了,有空我再专门写一篇关于思路构建上的教学文章。
本节主要介绍一个正常的脚本最最基本的结构要素,以下是范例,希望你们拿出耐心好好对比理解,如有不解的地方跟帖留言,我会不定时查看。要点提示:想学就付出你的努力,认真且耐心的一步步理解我以下的代码注解,相关知识点我也标注了要点教程地址,世上没有不劳而获,除非有人甘愿为你付出且陪伴你一辈子。付出了不一定有成果,但绝对有收获,不管是想要的还是不想要的,也能发现错误的方向,不付出什么都得不到,如果害怕失败而不尝试,那么你将被世界所遗忘。范例:来自资源站——实验室——回合小游戏- //获取信息,自定义变量:http://zy.anjian.com/index.php?action-viewnews-itemid-220
- '标识符范例讲解:http://bbs.anjian.com/thread-379873-1-1.html
- UserVar lis_jineng=DropList{"1":0|"2":1}=0 "战斗技能"
- UserVar txt_hp=80 "生命少于多少喝药"
- ////////////////////////////////////////////////////////////////////////
- //准备操作,因为是网页窗口,这里就简单点,通过获取鼠标当前指向窗口,判断是否是游戏窗口,来定位。
- Dim Hwnd
- Hwnd = Plugin.Window.MousePoint()
- If "NativeWindowClass" 总结:
主线循环:负责统筹指挥,调用一个个功能模块,执行每个步骤功能,返回每个模块处理结果,成功失败或其他,根据返回的结果,决定下一个步骤执行什么功能模块,完善的脚本必然需要一个聪明的大脑。
支线循环:负责协助指挥,以上范例并没写到支线循环,是因为功能实在过于简单,无需分支出去再创一个主循环,但正常大型多功能脚本,就需要划分多个支线循环,具体看脚本功能需求而定,如何判断何时需要另起支线循环呢,简单点就是,在主线循环中执行到一个环节的时候,需要进入独立的循环处理某事件操作时,这时候分离一个支线循环,同样支线循环在完成任务后也得像主线循环返回一个结果,关于思路构建这块后期我会专门编写一篇文章。
功能模块:负责单纯的执行某个功能,记住是某个不是多个,在一个功能模块中,尽量只做一件事情,一个个零件清晰明确,不混淆一起,看似挺麻烦多余的编写格式,但对于后期的代码维护与错误排查起的至关重要的作用,难道你们想在一个Sub或Function里几百行代码里找到出错的地方吗?
代码命令:纯粹的执行命令,找图找色命令,键鼠命令,算法计算等,这些命令分工明确组成各个功能模块,理解上面范例的同学应该领悟了吧。
固定模块:这个是重点,认真看过上面范例中的固定模块代码的同学,应该发现了我的注解说明,在需要更换一些命令的时候,只需修改固定模块即可,比如前台换后台插件命令,更换后台插件命令,脚本完善的框架打好,就不用到几千几万代码里把需要替换的命令一个个找出来修改,万一漏掉或改错了不是 让人抓狂?
看到这里的同学你懂的,回帖支持我下,这就是对我最大的肯定与支持!