最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 怎么用python写简单的游戏脚本?

    正文概述    2020-06-19   305

    想必大家都喜欢玩游戏吧,现在游戏市场是非常火爆和可观的,不少程序员都纷纷涌入游戏公司,我们学习python其实也可以作为写游戏脚本的,不清楚的小伙伴可以来看下了哦~

    以楚留香的电脑版为例,记录脚本的编写之路吧。

    怎么用python写简单的游戏脚本?

    因为主要游戏都在windows跑,没什么好说的,第一步应该是获取窗口句柄。

    在按键精灵帮助下,我们知道了游戏窗口句柄的类名和名字分别为"Messiah_Game",“楚留香”。

    利用win32gui的函数,获取到窗口句柄,并稍微调整一下我们理想的大小。

    import win32con
    import win32gui
    import win32api
     
    hwnd=win32gui.FindWindowEx(0,0,"Messiah_Game","楚留香")
    win32gui.SetForegroundWindow (hwnd)
     
    if(win32gui.IsIconic(hwnd)):
     win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
    win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 300,200,1200,800,win32con.SWP_SHOWWINDOW)

    这样就完成对窗口的激活和尺寸,位置设定了。

    接下来我们先做一个模块的功能,比如自动摆摊购买,因为端游模式和手游模式摆摊位置不同,我们首先确定为端游模式的坐标。

    自动购买第一步,首先是鼠标能移动到‘’藏宝阁‘’图标上

    然后我们关注我们需要抢购的东西,再拿他与我们需求的价格做对比,如果小于我们理想的价格,则让脚本自动购买。

    所以模拟键盘鼠标的操作和价格识别就显得尤为重要。以下为关注界面,每点击一次关注就会刷新,似乎有点击事件间隔限制。

    怎么用python写简单的游戏脚本?

    '''我们希望脚本是在端游模式跑起来的,方便测试,先默认一个Mode为端游模式,后期可以设置一个检查模式功能'''
     Mode='端游模式'
     if(Mode=='端游模式'):
     win32api.SetCursorPos([557, 584])
     win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)


    启动脚本后,发现鼠标虽然移动成功,但是单击命令似乎只能在游戏之外的窗口才会执行?

    为什么呢?

    这是由于游戏屏蔽了系统API提供的模拟输入,包括键盘鼠标的模拟操作都不会生效。

    看起来事情并不简单。

    那怎么办?如果你学习也迷茫。可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目

    别急,我们可以模拟键盘鼠标驱动的硬件操作。

    以下理一下我们思路

    目的:我们希望模拟键盘和鼠标的操作。

    可以使用方式或库:

    pyinput

    autopy

    win32api

    winio

    vb类似于按键精灵的模式

    前面三种已经证明不可行,因为都是api层面的操作,一定都会被游戏系统屏蔽。关于第四种可以实现IO驱动的模拟介绍winio但是进入github查看说明文档发现:也就是说,winio的python接口还不支持win10,其他语言倒是可以支持,但是我们的代码不就前功尽弃了吗?因此联想到可以使用vb的按键精灵模式来实现模拟输入。在这里我们并不是要推翻整个代码重写,更不是把语言换成vbscript,我们可以通过调用按键精灵某些插件实现模拟的键盘鼠标输入。今天就分析到这里,下一篇我们来讲讲怎么使用python调用vb脚本实现键盘鼠标的dx游戏模拟输入吧。

    如果还想知道更多的python知识,可以到python学习网进行查询。


    起源地下载网 » 怎么用python写简单的游戏脚本?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元