吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1615|回复: 12
收起左侧

[Python 转载] python 点击速度问题

[复制链接]
豆虫 发表于 2020-8-2 13:44
玩一个4399小游戏:
http://www.4399.com/flash/141202_2.htm#his_index_6

[Python] 纯文本查看 复制代码
from ctypes import *  # 获取屏幕上某个坐标的颜色
import pyautogui
import win32api,win32gui,win32con
def get_color(x, y):
    gdi32 = windll.gdi32
    user32 = windll.user32
    hdc = user32.GetDC(None)  # 获取颜色值
    pixel = gdi32.GetPixel(hdc, x, y)  # 提取RGB值
    r = pixel & 0x0000ff
    g = (pixel & 0x00ff00) >> 8
    b = pixel >> 16
    return [r, g, b]


# hwnd = 133196
# win32gui.SetForegroundWindow(hwnd)


def doClick(cx, cy,hwnd=hwnd):
    long_position = win32api.MAKELONG(cx, cy)  # 模拟鼠标指针 传送到指定坐标
    win32api.PostMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position)  # 模拟鼠标按下
    win32api.PostMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position)  # 模拟鼠标弹起

pyautogui.PAUSE == 0.001
for i in range(999):
    y = 613
    if get_color(729, y) == [17, 17, 17]:
        pyautogui.click(729, y)
    if get_color(781, y) == [17, 17, 17]:
        pyautogui.click(781, y)
    if get_color(831, y) == [17, 17, 17]:
        pyautogui.click(831, y)
    if get_color(880, y) == [17, 17, 17]:
        pyautogui.click(880, y)



用pyautogui.click()可以每秒点100次左右,用win32api.PostMessage()点会慢一点,有没有更快的?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

逝言 发表于 2020-8-2 15:41
豆虫 发表于 2020-8-2 15:14
啥弄的?分享一下心得?

我也是识别图色 但是我准确的很 你可以看看排行榜 月第一就是我

免费评分

参与人数 1吾爱币 +1 收起 理由
豆虫 + 1 我很赞同!

查看全部评分

 楼主| 豆虫 发表于 2020-8-2 14:52
发现可以连点,于是改进代码:

[Python] 纯文本查看 复制代码
x=[729,781,831,880]
y=[581,480,383,282]
for xx in range(999):

    for i in range(len(y)):
        for j in range(len(x)):
            # print(x[j], y[i])
            if get_color(x[j], y[i]) == [17, 17, 17]:
                pyautogui.click(x[j], y[i])


发现会有漏点情况
kof21411 发表于 2020-8-2 13:49
每秒点100次已经够快,再快人家服务器也会无法响应
头像被屏蔽
袁煜914 发表于 2020-8-2 13:53
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 豆虫 发表于 2020-8-2 13:58
不知道是颜色识别过慢还是点击速度不够快,只能拿一千多分
Ldfd 发表于 2020-8-2 14:08
豆虫 发表于 2020-8-2 13:58
不知道是颜色识别过慢还是点击速度不够快,只能拿一千多分

我看了一下游戏,一千多分应该不到一秒一百块吧,随便玩玩就能七百多分,按道理应该是颜色识别的问题,但是不至于那么慢啊
涛之雨 发表于 2020-8-2 14:15
为啥不用js?
页游可以用js的吧。。。
()如果是canvas应该可以直接分析点击事件然后定时器循环
luanshils 发表于 2020-8-2 14:20
有没可能多线程
boxer 发表于 2020-8-2 14:49
涛之雨 发表于 2020-8-2 14:15
为啥不用js?
页游可以用js的吧。。。
()如果是canvas应该可以直接分析点击事件然后定时器循环

那应该是flash小游戏
逝言 发表于 2020-8-2 15:11
老哥 你试试我这个识别咋样
点击下载https://wwa.lanzouj.com/iCBcif82hbi

看看我这个

看看我这个
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 01:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表