BanG Dream自动打歌脚本

BangDream自动打歌脚本

BangDream是一款下落式音游

两种方法

研究了两天,自动打歌脚本分为两种

第一种是视觉逻辑判断,即经过截图判断落点的颜色变化执行相应的操作

第二种是读谱实现相应的操作

我在做的是第一种,一开始就想做个一招鲜,吃遍天的方法,下面是主要代码

1
2
3
4
5
6
7
8
9
def check_color(check_positions,position):
while time.time()-start_time<duration:
st = time.time()
screenshot = ImageGrab.grab(bbox=(0,630,1280,650))
print(time.time() - st)
for i in range(7):
color = screenshot.getpixel(check_positions[i])
if color != (255,255,255):
pyautogui.click(position[i])

其实就是截图判断检测落点是否非白,不是的话就点击

经过检测操作时间,哪怕是遍历7个点所需的时间也不是很多,更多的时间大头在截图,也就是第四行代码

截图一次由于各种因素限制导致最低也在30ms左右,这就导致打歌的准确度不行,经常great

目前能够解决这个问题的只有两个办法,一是想办法降低截屏所需时间,二是更改思路,改变算法

但两者最近都没思路只能暂且搁置,最近还有论文要写

读谱打歌

这也算一种脚本方法,首先要获得音谱,然后就是操作拆解,分为点、绿键、粉键

点的话pyautogui.click(position[i])就可以,绿键需要找可以模拟按住操作的库,粉键需要找可以模拟滑动的库

然后就是拼接,可以用sleep进行测试,所以这种方法很麻烦,一开始我就没打算这么搞


BanG Dream自动打歌脚本
http://milkyaw.online/2024/05/02/BangDream自动打歌脚本/
作者
Milkyaw
发布于
2024年5月2日
许可协议