游戏脚本开发第五卷

  • 前言介绍
  • 相关技术
  • 相关功能
  • 项目结构
  • 最后结语

前言介绍

本卷具体介绍脚本1.0,相关代码不再展示,该项目全部源码以及相关配置文件可在下方评论区留下QQ邮箱即可领取。

相关技术

  1. JavaFX,主要用于展示页面效果,该技术在JDK11被分离出系统库,如果是安装了JDK11及以上版本的电脑是无法直接运行的,需要下载它的包,eclipse对JavaFX有访问限制,需要把JRE系统库移除,然后重新导入系统库。笔者在B站看到的关于该技术的好教程推荐一下:点击跳转
  2. XML解析,主要用来存储数据与解析数据,因为小项目采用数据库比较麻烦。相关包为dom4j。
  3. 发送邮箱,用于脚本的异常运行提示,如果脚本运行异常可迅速地了解到情况,而不需要时常盯着电脑看,相关包为javax.mail。
  4. 播放音乐,功能同上,也是作为提示方式,相关包为jl。
  5. JNA,JNA提供一组Java工具类用于在运行期动态访问系统本地库,功能非常强大,主要用来操作窗口,相关包为jna,jna-platform。

相关功能

下图为主界面,取点扫描和图像识别这两种方式在前几卷已经讲解。


取点扫描原理:提前设置好判断点,取该点的位置与颜色,然后开启程序,程序获取目前屏幕的该点的位置与颜色,与判断点进行对比颜色,如果颜色相同则移动鼠标到该点,并且单击该点。
图像识别原理:提前截取图片,取图片的每个像素的颜色,然后开启程序,程序截取目前屏幕的图片,取屏幕图片的每个像素的颜色,然后对屏幕图片的每个像素点进行遍历对比,如果屏幕图片存在与截取图片的所有像素完全相同的区域,则移动鼠标到该截取图片的区域并且单击。
超时操作:程序设置了一个超时时间,如果在该时间内,程序没有操作鼠标,即可认定为出现了异常情况,程序将可以通过音乐通知(播放指定的音乐),邮件通知(向指定的QQ发送邮件),自动关机(通知完成后将会立刻关机)。程序会在出现异常情况后判断超时操作的功能勾选,这意味着你可以在任何时候都能修改你想要的超时操作。

下图为调整窗口界面,在前几卷已经讲解。


调整窗口主要是设置好游戏窗口在屏幕的位置与尺寸,因为取点扫描与图像识别都依赖于游戏窗口的位置与尺寸的固定,取点扫描的判断点是固定的,它需要游戏窗口固定在某个位置,图像识别的判断图片是固定大小的,一旦游戏窗口的尺寸发生变化,它就无法识别了。下面说说参数的意义

标题:游戏窗口的标题,如该脚本的标题就是鼠年大吉V1.0,你可以先在标题框中输入鼠,点击快捷选择即可迅速找到该进程标题。(类型:String)
X轴:你期待的游戏窗口的左上角出现在屏幕X轴的位置坐标。(类型:int)
Y轴:你期待的游戏窗口的左上角出现在屏幕Y轴的位置坐标。(类型:int)
宽度:你期待的游戏窗口的宽度大小。(类型:int)
高度:你期待的游戏窗口的高度大小。(类型:int)

下面是辅助功能的介绍:

清空记录可以清空你之前保存的所有窗口数据。
测试数据可以在你填写完所有文本框内容后进行一个尝试性测试调整游戏窗口功能,测试完成后,如果你满意的话可以点击保存数据,不满意的话可以继续调整测试。
保存数据可以保存所有文本框的数据到指定的XML文件中,如果XML文件里面已经存在该标题信息则会覆盖该信息,指定的XML文件名字为games.xml。

下图为取点对比界面,在前几卷已经讲解。


取点对比主要是设置判断点的相关信息以及鼠标点击位置。前几卷的取点对比是比较死板的取点,本次取点采用全局鼠标监听技术,只需要在你移动鼠标到你想设置的该点位置,然后用鼠标滑轮滚动一下即可采取该点的位置以及颜色信息。相关代码在JiaoBen包->MouseMonitor.java文件中。

下面说说参数的意义

X: 判断点在屏幕上的X轴的位置坐标。(类型:int)
Y: 判断点在屏幕上的Y轴的位置坐标。(类型:int)
R: 判断点的颜色的RED分量。(类型:int)
G: 判断点的颜色的GREEN分量。(类型:int)
B: 判断点的颜色的BLUE分量。(类型:int)
Xmin: 判断点对比相同后,你期待鼠标移动坐标的X轴的最小值。(类型:int)
Ymin: 判断点对比相同后,你期待鼠标移动坐标的Y轴的最小值。(类型:int)
Xmax:判断点对比相同后,你期待鼠标移动坐标的X轴的最大值。(类型:int)
Ymax:判断点对比相同后,你期待鼠标移动坐标的Y轴的最大值。(类型:int)
Id: 备注信息,可用于描述判断点的信息,可不填。(类型:String)

: X,Y,R,G,B可以通过滑动鼠标滑轮迅速获得
Xmin,Xmax,Ymin,Ymax可以通过截图->保存数据迅速获得。

下面是辅助功能的介绍:

清空数据可以清空你之前保存的所有判断点数据。
保存数据可以保存所有文本框的数据到指定的XML文件中,指定的XML文件名字为points.xml。
截图可以迅速确定你期待鼠标移动坐标的范围,也可以真正的截取图片并且自动保存到图片库,你截取完图片后,回弹出保存数据与保存图片两个按钮,它们对应着上面的两个功能。

下图为用户设置界面,在前几卷已经讲解。


用户设置主要用来设置用户的相关信息。下面说说参数的意义

扣扣账号:邮件通知的QQ账号,最好与微信绑定,然后通过微信的QQ邮箱提醒(公众号)实时获取脚本运行情况。(类型:String)
点击效率:脚本每次判断的休眠时间,数值越小,鼠标点击频率越高,系统负担越大。(类型:int)
最小间距:脚本操作鼠标的单击的按下与释放之间的最小时间差。(类型:int)
最大间距:脚本操作鼠标的单击的按下与释放之间的最大时间差。(类型:int)
通知时间:脚本判断出现异常情况的超时时间,如果在该时间内没有进行鼠标操作则会自动做出超时操作,如音乐通知,邮件通知,自动关机。(类型:int)
通知音乐:音乐通知的指定音乐,需要带后缀名.mp3。(类型:String)

下面是辅助功能的介绍:

清空记录可以清空你之前保存的用户数据。
保存数据可以保存所有文本框的数据到指定的XML文件中,指定的XML文件名字为user.xml。

项目结构

config文件夹存储所有的XML文件(配置文件)
img文件夹作为图片库,存储PNG照片文件,UI.png作为窗口图标,截图保存的图片会保存到该文件夹里,如果用其他的截图工具,请把截取的图片放入该文件夹并且注意文件后缀格式。
music文件夹作为音乐库,存储MP3音乐文件,用户设置的通知音乐必须存在于该文件夹里。

最后结语

脚本1.0介绍完毕,下方评论留下QQ邮件领取该项目的源码,外部包以及配置文件。
下一卷开始讲解脚本2.0的相关功能,学业繁重,只能有时间再写博客了。
最后暗示–>>关注点赞评论!!!


点击前往下一卷内容


Java开发游戏脚本(第五卷)相关推荐

  1. Java开发游戏脚本(第一卷)

    游戏脚本开发第一卷 开发前言 开发热身 获取鼠标的坐标信息 鼠标信息数据处理 颜色对比判断鼠标操作 多线程启动脚本 最后结语 开发前言 很多人都不想在玩游戏时进行持续的重复操作,我也不例外,而游戏脚本 ...

  2. 关于利用JAVA开发游戏外挂的几点思考

    能够利用JAVA来编游戏外挂,这真的是一个让人很感兴趣的话题. 在讨论这个题目之前,我们首先来给不玩网络游戏的人补一下课,首先网络游戏的概念大家应该都是知道了,从虾米最早接触的文字MUD<重出江 ...

  3. python能不能开发游戏脚本_Python脚本如何保证游戏正常开发

    Python脚本如何保证游戏正常开发 Python脚本是一种广泛应用于玩游戏开发的通信语言,在实际应用的过程中还是有不少的问题困扰着开发人员,下面是Python脚本在实际应用中的具体问题解决方案.希望 ...

  4. python如何开发游戏脚本_python能开发游戏吗

    python可以写游戏,但不适合.下面我们来分析一下具体原因. 用锤子能造汽车吗? 谁也没法说不能吧?历史上也确实曾经有些汽车,是用锤子造出来的.但一般来说,还是用工业机器人更合适对吗? 比较大型的, ...

  5. java制作游戏脚本,面试篇

    高并发架构 消息队列 搜索引擎 缓存 分库分表 读写分离 设计高并发系统 高并发架构部分内容 缓存: Redis高可用: 高并发系统设计: 分布式系统 分布式业务系统,就是把原来用 Java 开发的一 ...

  6. python开发的游戏手机上玩_利用Python开发游戏脚本,就凭一个设定,玩家直接起飞!...

    前言 最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西. 当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成.游戏脚本其实并 ...

  7. MySQL和java连连看_用 JAVA 开发游戏连连看(之一)动手前的准备

    JAVA ,相信大家也不会陌生了吧, JAVA 是一门相当优秀的语言.目前 JAVA 领域 J2EE . JSP . STRUTS 等技术不知有多么的热门,他们的主要用途是用来进行企业开发, J2ME ...

  8. java游戏优化_用 JAVA 开发游戏连连看(之六)优化:让程序运行更稳定、更高...

    之六)优化:让程序运行更稳定.更高效 改善游戏的合理性 到目前为止,我们的游戏基本上算是完成了,为了使程序更合理,我们还需要将整个程序从头再理一遍,看看有没有改进的地方. 首先,在变量的使用上,由于很 ...

  9. java开发秒杀脚本,解密秒杀软件 | JavaScript最佳入门案例

    网上购物变得的越来普遍,各种"秒杀"抢购的活动越来越多,除了早年雷布斯的"饥饿营销",大多数秒杀活动还是有货源的,我们秒不到货,大多是因为我们败给了计算机脚本. ...

最新文章

  1. 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]
  2. 百度商桥修改服务器,百度商桥 · 响应式网站编辑器使用手册 · 看云
  3. 这篇 LaTeX 简单介绍的文章艺术含量很高哒!
  4. 如何将Java应用程序置于Apache HTTP服务器之后
  5. 1.关于python
  6. c++ windows 蓝牙库_蓝牙翻页笔(PPT 控制器) | ESP32学习之旅-Arduino版
  7. java base class,Java; casting base class to derived class
  8. STL的Vector介绍
  9. Linux设备驱动模型-Kobject
  10. win10 svn无法成功完成操作,因为文件包含病毒或潜在的垃圾软件
  11. FFmpeg合并ts文件为mp4文件
  12. 谷歌、百度、搜狗、有道搜索个人之比较
  13. 《那些年啊,那些事——一个程序员的奋斗史》——77
  14. SVM支持向量机,函数间隔为什么取1
  15. An exception was thrown while activating xxxxController
  16. c语言小蜜蜂游戏编程,GMS2从零做游戏:小蜜蜂(一)
  17. 阿里云DataWorks数据集成(DataX)架构实践分享
  18. 关于vue的组件重新加载
  19. switch基础用法
  20. Linux下的dd和cat

热门文章

  1. Python小项目—照片马赛克
  2. Ipad电容笔买原装还是平替?高性价比的ipad平替电容笔推荐
  3. u-boot.lds文件诠释
  4. echarts饼图属性配置-中间展示总和
  5. Meth | elementary OS常用配置
  6. 希捷硬盘升级固件方法
  7. LeetCode 160. 相交链表
  8. 计算机如何增加网络地址,如何添加网络打印机到电脑
  9. 上班族致富五大途径解密
  10. C++——new和delete操作符