应用场景
- 开发一款游戏,在直播平台进行直播,游戏可以根据直播间的评论、点赞和礼物信息触发不同的功能,能让观看直播的人参与到游戏中,达到吸粉并提升直播效果。
功能模块
数据采集服务器
- 实现思路
- 程序自动进入并监控直播间,实时获取弹幕、礼物和评论
- 把获取到的实时数据,封装成json数据结构
- 通过websocket发送出去
- 开发语言
- python
- Nodejs
游戏插件
- 实现思路
- 通过websocket连接到数据服务器
- 解析服务器发来的json数据
- 开发语言
- C++
- UE4
数据结构类型
{
'MessageType': 0,
'DetailData':
{
'Name':'',
'Id':'',
'Level',
'Comment':'',
'Vartar':''
}
}
部分代码展示
- Python
class EMessageType(Enum) :
E_None = 0, # 未定义
E_Comment = 1, # 评论
E_Like = 2, # 点赞
E_Attention = 3, # 关注
E_Gift = 4, # 送礼物
E_ComeIn = 5, # 进入直播间
'''
用户的基础信息
'''
class CUserDetail :
def __init__(self, name, id, level) :
self.UserName = name # 用户名称
self.UserId = id # 用户ID
self.UserLevel = level # 等级payGrade
self.Type = EMessageType.E_None
'''
评论
'''
class CCommentFormat(CUserDetail) :
def __init__(self, name, id, level, comment, vartar) :
super().__init__(name, id, level)
self.Comment = comment # 评论内容
self.Vartar = vartar
self.Type = EMessageType.E_Comment
def ToStr(self) :
DictValue = {
'UserName' : self.UserName,
'UserId' : self.UserId,
'UserLevel' : self.UserLevel,
'Comment' : self.Comment,
'UserVartar' : self.Vartar
}
AllData = {
'Type' : 1,
'Data' : DictValue
}
return json.dumps(AllData)
- Nodejs
var E_None = 0; // 未定义
var E_Comment = 1; // 评论
var E_Like = 2; // 点赞
var E_Attention = 3; // 关注
var E_Gift = 4; // 送礼物
var E_ComeIn = 5; // 进入直播间
var E_LikeAll = 6; // 总赞
// 用户的基础信息
class CUserDetail
{
constructor(name, id)
{
this.UserName = name
this.UserId = id
this.Type = E_None
}
ToStr()
{
}
}
// 评论
class CCommentFormat extends CUserDetail
{
constructor(name, id, comment)
{
super(name, id)
this.Comment = comment
}
ToStr()
{
var Comment = {'Type': E_Comment, 'Data' : {'UserName' : this.UserName, 'UserId' : this.UserId, 'Comment': this.Comment}}
return JSON.stringify(Comment)
}
}
测试效果
可合作。2918462052