直播间互动游戏

应用场景

  1. 开发一款游戏,在直播平台进行直播,游戏可以根据直播间的评论、点赞和礼物信息触发不同的功能,能让观看直播的人参与到游戏中,达到吸粉并提升直播效果。

功能模块

数据采集服务器

  • 实现思路
    1. 程序自动进入并监控直播间,实时获取弹幕、礼物和评论
    2. 把获取到的实时数据,封装成json数据结构
    3. 通过websocket发送出去
  • 开发语言
    1. python
    2. Nodejs

游戏插件

  • 实现思路
    1. 通过websocket连接到数据服务器
    2. 解析服务器发来的json数据
  • 开发语言
    1. C++
    2. 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值