设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2270|回复: 2
打印 上一主题 下一主题

[讨论] 获取B站直播弹幕和利用弹幕接收指令

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14048
在线时间
2070 小时
注册时间
2016-9-20
帖子
844
跳转到指定楼层
1
发表于 2021-8-2 22:42:09 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 ppspssss 于 2021-8-3 12:58 编辑

本贴仅本人猜测和研究, 请勿尝试, 看完就算

前几天看到有个人@jimmy167 说使用直播软件的弹幕来参加游戏, 我就想研究一下
https://rpg.blue/forum.php?mod=viewthread&tid=486528
可他几天没有上线, 就想有没些软件能获取一下用户弹幕发言, 搜索百度, 发现有"B站彈幕姬"
粗略说 (无視我)
并实时输出储存至一个lastrun.txt的文本中, 这就利用读取文本 "Ruby 文件的输入与输出" 的方式读取遍历每一行, 获取文本后include?("收到彈幕:") 和split(/:/) 分割出用户名 和 所说的话  然后利用枚举法自行定制指令控制游戏, 例如jimmy167的游戏是获取B站用户之名字, 当用户发出之指令为"参加",就把用户加至游戏里


RUBY 代码复制
  1. ##以下代码没经测试纯粹参考用
  2. $subject=[]
  3. $subject = File.readlines("lastrun.txt")
  4. for i in 0...$subject.size  #遍历所有行数
  5. $subject[i].chomp! #!發生變化并返回  删换行符
  6. if $subject[i].include?("收到彈幕:")
  7. nnn = $subject[i].split(/:/)[4].to_s #分割利用冒号
  8. 名字 = nnn.sub!(/ .*?说/, "")  #分别删除空格和说
  9. 内容 = $subject[i].split(/:/)[5].to_s #注意前多了一个空格
  10. end #if
  11. end #for
  12.  
  13. ####以下清空文本用 (每获取指令后清空一次)
  14.  
  15. f = File.open("lastrun.txt","w+") #a+意思:讀取,写入,覆盖原文件,文件不存在自动创建
  16. f.write("") #清空用
  17. f.close #关闭文本



相关文章: 几万人同时用弹幕控制一个游戏人物
https://www.sohu.com/a/162950053_628730

互动游戏缺点 很明显 :
1.指令发送延迟很大,twitch直播低延迟模式也要3秒钟, B站8秒最短, 我觉得策略游戏比较合适
2.由于指令发送简单, 所以基本也只能应用于简单游戏, 玩家输入也较麻烦
3.弹幕发送间隔有限, 只能低速操作, 不能频发(B站測了是4秒)
4.指令字数有限 (B站20个中英占用1个) (twitch中英500个字符)
5.指令要公示到直播屏幕上, 还要简单易懂, 因文字较多需要1080P并且要全屏幕才看得清, 但这发弹幕又不能全屏幕缩小屏的, 比较麻烦, 而且屏幕位置极为有限, 占用很多位置
6.游戏种类限制极大, 由于种种缺点, 实质上能做的游戏屈指可数,像植物大战僵尸,塔防游戏还行,
7.指令不像键盘一样, 要每次操作也要输入

综合缺点其实直接做联机游戏更为合适,

评分

参与人数 1+1 收起 理由
煎蛋流Kira☆ + 1 精品文章

查看全部评分

内容仅供参考,
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-17 03:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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