最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

ddtank 1.1.2 文檔

2023-03-08 09:04 作者:ddtanker  | 我要投稿

由于b站不支持markdown,將就看吧。

https://pypi.org/project/ddtank/

DDTank 非正式文檔

Document for ddtank package

寫在前面

本軟件包的更新、規(guī)范全憑作者個(gè)人喜好而變動(dòng),請慎重使用!

作者郵箱: jugking6688@gmail.com

B站視頻系列: https://space.bilibili.com/3493127383943735

QQ交流群:285669805

版本更新說明

  • version 1.1

引入了圖形化界面,即腳本執(zhí)行器ddtanker。`python from ddtank import DDTanker

ddtanker = DDTanker() ? ?ddtanker有找色、截圖、地圖識別等功能,大大提高腳本編寫的效率。 ? ?注意,如果你想編寫一個(gè)ddtanker能夠識別、執(zhí)行的ddtank腳本,你需要將子類命名為ScriptStatus, ? ?然后將.py文件放在./script文件夾中。python from ddtank import Status

class ScriptStatus(Status): ? ?def task(self): ? ? ? ?self.click('rfind', pos=(520, 57), rgb=(6, 104, 210)) ? ? ? ?self.click('rfind', pos=(743, 141), rgb=(247, 75, 61)) ? ? ? ?self.click('rfind', pos=(430, 278), rgb=(149, 86, 92)) ? ? ? ?self.sleep(100) ? ? ? ?self.click('rfind', pos=(241, 373), rgb=(83, 244, 52))` ? ?一個(gè)能供ddtanker識別、執(zhí)行的ddtank腳本,它的作用是: ? ?假設(shè)人物位于大廳,他將會(huì)進(jìn)入農(nóng)場,然后扭蛋一次。

1. 獲取游戲窗口信息 get_game()

`python from ddtank import get_game

hwnds = get_game()` 上面的代碼演示了如何獲取當(dāng)前已經(jīng)運(yùn)行了的,所有的彈彈堂游戲窗口的句柄,并保存到了列表hwnds中。

如果你想要同時(shí)獲取游戲窗口的標(biāo)題文本,那么設(shè)置getgame

hwnds, titles = gettitle=True)`

2.實(shí)例化角色對象 Status()

在彈彈堂中,每一個(gè)游戲窗口對應(yīng)一個(gè)游戲角色。因此,每一個(gè)實(shí)例化的Status對象也對應(yīng)每一個(gè)角色。`python from ddtank import get_game, Status

hwnds = getstatus = Status(hwnd)` ? ?如果你之前也獲取了標(biāo)題文本列表,那么可以在實(shí)例化Status時(shí)指定第二個(gè)參數(shù)title。

3.找圖與找點(diǎn) find()

存在以下場景: 判斷某個(gè)(多個(gè))點(diǎn)像素值是否符合條件 獲取某圖片的位置

3.1 獲取某點(diǎn)的像素值(RGB)

在下面的例子中,我們獲取了游戲圖像中(200, 200)處的像素值并儲(chǔ)存在了變量pixel中。`python from ddtank import get_game, Status

hwnds = getstatus = Status(hwnd) pixel = my_status.find('find', pos=(200, 200))

或者,你可以直接 find(pos=(200, 200)

` ? ?獲取像素值使用了win32gui的GetPixel方法,而不是先截圖然后訪問圖片數(shù)組。

3.2 判斷某個(gè)(多個(gè))點(diǎn)像素值是否符合條件

在下面的例子中,我們判斷了三個(gè)點(diǎn)是否符合條件,如果其中某個(gè)符合了條件, 那么就會(huì)返回它的參數(shù)名稱(例如,cdt2)。`python from ddtank import get_game, Status

hwnds = getstatus = Status(hwnd) rst = my_status.find('mfind', ? ? ? ? ? ? ? ? ? ? cdt1=((100, 100), (12, 23, 34)), ? ? ? ? ? ? ? ? ? ? cdt2=((200, 200), (34, 23, 12)), ? ? ? ? ? ? ? ? ? ? cdt3=((300, 300), (21, 32, 43)), )` ? ?'mfind'也可以簡寫為'mf'或者'm',取決于你的心情。 ? ?每一種method都有許多簡寫方式。

3.3 重復(fù)判斷直到某個(gè)點(diǎn)像素符合了條件

在下面的例子中,我們重復(fù)判斷游戲圖像中(200, 200)處的像素值是否為(1, 2, 3), 在實(shí)際應(yīng)用中,這種情況經(jīng)常適用于進(jìn)入某場景前的等待。`python from ddtank import get_game, Status

hwnds = getstatus = Status(hwnd) my_status.find('rfind', pos=(200, 200), rgb=(1, 2, 3))` ? ?指定method為'rfind'時(shí),還可以設(shè)置兩個(gè)參數(shù): 'el'和'period'。 ? ?'el'用于指定在找某點(diǎn)像素值不符合條件時(shí),執(zhí)行的方法。 ? ?'period'用于指定每次循環(huán)之間的等待時(shí)間,默認(rèn)為100毫秒,這是為了避免資源占用過大。

3.4 獲取某圖片的位置

用于尋找的圖片儲(chǔ)存在self.imagegame, Status

hwnds = getstatus = Status(hwnd) centerpos = myimage', img='temp')` 返回值centerpos為圖片的中心點(diǎn)位置。

4.模擬點(diǎn)擊 click()

存在以下場景: 某個(gè)點(diǎn)像素值符合條件才點(diǎn)擊此處 獲取某圖片的位置,然后點(diǎn)擊圖片位置 * 重復(fù)尋找某圖片,直到圖片出現(xiàn),然后點(diǎn)擊圖片位置

下面的代碼基本完整展示了click的使用方法。如果你學(xué)會(huì)了find的使用,那么理解click將會(huì)是順其自然的。`python from ddtank import get_game, Status

hwnds = getstatus = Status(hwnd) mystatus.click('find', pos=(200, 200), rgb=(255, 255, 255), el=lambda: print(mystatus.click('rfind', pos=(200, 200), rgb=(255, 255, 255)) myimage', img='temp', part=(0, 300, 500, 300))`

5.模擬按鍵 press()

下面的一個(gè)例子展示了press方法的使用:`python from ddtank import get_game, Status

hwnds = getstatus = Status(hwnd) keystatus.press(key_series)`

6.讀取地圖 read()

識別小地圖,來獲取各種信息。風(fēng)力: ? ?{self.wind} 角度: ? ?{self.angle} 小地圖界限: ? ?{self.map_pos} 白框位置: ? ?{self.box_pos} 白框?qū)挾? ? ?{self.box_width} 藍(lán)點(diǎn): ? ?{self.blues} 三角: ? ?{self.cur_pos} 紅點(diǎn): ? ?{self.reds} 光圈: ? ?{self.circle} ? ?read()方法有一個(gè)參數(shù)為is_circle,默認(rèn)為False,代表是否進(jìn)行光圈識別。 ? ?在副本中,我們識別當(dāng)前出手的角色一般依賴三角,而在競技中,我們依靠閃爍的光圈來定位。

7.發(fā)射炮彈 shot()

不好用,以后改進(jìn)。

8.角色移動(dòng) move()

關(guān)于腳本的編寫

我們建議您繼承父類Status,然后重寫task()方法,將腳本內(nèi)容寫在此方法內(nèi), 通過YourStatus.start()方法執(zhí)行腳本,此方法會(huì)開辟一個(gè)子線程來執(zhí)行腳本。并且, 你可以通過YourStatus.stop()方法來強(qiáng)制停止腳本的運(yùn)行。

ddtank 1.1.2 文檔的評論 (共 條)

分享到微博請遵守國家法律
和平县| 开封市| 石门县| 信阳市| 遂溪县| 台南县| 寿阳县| 郁南县| 湘乡市| 章丘市| 喀什市| 三江| 浦江县| 克山县| 海兴县| 沭阳县| 穆棱市| 延边| 木兰县| 南江县| 中方县| 松阳县| 澄江县| 岐山县| 南开区| 泗洪县| 新余市| 中江县| 闻喜县| 鹰潭市| 桂阳县| 宁河县| 凌海市| 湖口县| 秀山| 西畴县| 任丘市| 东宁县| 益阳市| 肥乡县| 安国市|