python编程制作游戏脚本 python写游戏脚本怎么样_android


大家好。

近日来,一款名为阴阳师的游戏引诱了我,使我沉迷于网络游戏,日渐消瘦的我,荒废了时日,忘记了社会主义接班人的使命,忘记了构建人类命运共同体的伟大抱负。

为了挽救我美好的青春,为了挽救我的人生,为了未来的爱与梦想,为了从游戏的不真实世界中走出来,重新回到光明社会中去。

我做了一个伟大的决定。

我写了个脚本玩阴阳师。

效果是这样的:


python编程制作游戏脚本 python写游戏脚本怎么样_android_02


回忆当初,寂寞的我,在电脑上安装了网易的MUMU模拟器,想着学习科学知识的。没想到,在无知与茫然中,安装了阴阳师的APK。

为了摆脱网络游戏的诱惑,我做了持之以恒的抗争。

道路十分曲折。如神农尝百草,尝试了种种治疗手段。

一、pyautogui

这个库可以模拟人工输入和鼠标操作。经过一番资料搜索,用这个库实现自动操作阴阳师的大概思路是这样的:

将模拟器的窗口位置固定,截屏整个游戏界面,然后结合图像处理库,找到对应按钮的像素值范围从而确定鼠标点击的位置,进行鼠标操作。

代码:


python编程制作游戏脚本 python写游戏脚本怎么样_python编程制作游戏脚本_03


实际操作的时候,关键点在于按钮的像素值范围的设置。使用微信截图然后找到像素值的RGB,然后估摸着确定范围。所以,结果就是,鼠标会乱点击,点击不到按钮。

这个方案,唉。

二、uiautomator

经过我深思熟虑,发现控制游戏的最关键地方在于找到鼠标点击的位置,也就是元素定位。

所以又经过一番资料查找,发现android的SDK里的uiautomatorviewer工具可以找到元素定位,利用python的uiautomator库就可以直接点击元素。

但是,当用uiautomatorview工具定位按钮元素时:


python编程制作游戏脚本 python写游戏脚本怎么样_android_04


只找到一个整个游戏界面的view。非常遗憾。

这个方案,唉唉。

三、ATX

经过多次骚扰度娘,终于让我找到了。

网易的游戏测试模块-ATX。具备图片识别的功能,封装了uiautomator库,简单易用,药到病除。只需要把需要点击的按钮截图下来,再调用相关方法即可。

截取的按钮图片:


python编程制作游戏脚本 python写游戏脚本怎么样_python_05


粗略的代码是这样的:


python编程制作游戏脚本 python写游戏脚本怎么样_python编程制作游戏脚本_06


大功告成。我挽救了我美好的青春,挽救了我的人生,为了未来的爱与梦想,从游戏的不真实世界中走出来,重新回到光明社会中去,实现构建人类命运共同体的抱负的时刻来临了。

然而,不仅要图像识别,又要开模拟器玩游戏,电脑卡得要死。

还不如,痛苦玩游戏呢。

情不自禁地,我拿起手机。

沉迷游戏,不能自拔。