Android 技术分享| 【你画我猜】Android 快速实现
以你画我猜为代表的益智类游戏,已经逐渐成为社交新宠。用户在游戏过程中,根据题目线索,发挥自身的想象力。用户之间理解偏差的游戏过程中,拉近用户间的距离。
因而,一个优质的线上你画我猜平台,除了优化游戏设置、游戏规则外,还需要不断提升画板的实收互动质量,让线上用户获得如线下玩家一般的流畅体验。
如何快速做一款你画我猜游戏
你画我猜的益智类游戏,除了画板,还要配合 IM 以及实收音视频,三者相互配合。除了互动外,你猜我画题目也是游戏好玩的关键。
画板功能: 利用 anyRTC ARBoard SDK ,便能轻松实现多人实时画板协同
IM 聊天功能: 题目的提示以及揭示答案还有互动间里消息聊天,我们也利用 anyRTC RTM 去完成,该库属于轻量级 IM 库,库比较小,发送消息和接收消息都比较简单
实时音视频通信: 使用 anyRTC RTC SDK,配合变声、美声、混音等功能,让聊天更有趣
你猜我画题库: 需要用业务服务做题目库,玩家来选择题目,好玩的题目也可以付费让玩家购买;画猜的规则也需要配合 IM 精准同步
总和上述关键功能点,便能快速做出一块你画我猜游戏了,由于画猜题库需要服务端配合,下面给大家演示的 demo 中,只做了画画功能,题目这块略去,相信开发者可以自行实现。
效果展示
功能描述
权限绘画: 进入房间,通过 RTM 的频道属性来标记当前房间哪位玩家在画画,以及对应的权限
画画功能: 画笔粗细,画板颜色修改,画笔撤销,清空画板以及对画板截图,这些都是你画我猜的基础功能
消息聊天: 基本的 IM 消息聊天功能,颜色如何收发消息
语音实时互动: 真实的场景中有观众以及麦上玩家,本 demo 做为演示 demo,也是使用的直播模式,只不过默认上麦,真实开发当中切换角色,只需要调用一句代码即可,可以在 demo 中找到
跑通 demo
实现步骤如下:
在
app/build.gradle
中添加依赖:
白板初始化相关 API 白板初始化会用到 4 个类:
ARBoardAuthParam
、ARBoardBaseParam
、ARBoardKit
以及ARBoardHandler
ARBoardHandler
为事件通知类,需用户继承及实现ARBoardKit
为控制类,通过ARBoardKit
控制白板ARBoardAuthParam
负责传递 APP_ID、token 及 uidARBoardBaseParam
负责传递白板初始化配置,其架构如下:ARBoardBaseParam.ARBoardInitConfig
String ratio //比例,如 1:1、16:9
int scale //取值 100~300,100=1 倍
ARBoardToolType toolType //画笔类型,默认为 PEN
ARBoardBaseParam.ARBoardInitStyleConfig
ARBoardTextStyle textStyle //取值:bold,italic,bold_italic,normal,默认 normal
int textSize //文本大小(设置 ARBoardToolType 为文本时生效)
String textColor //文本颜色
String brushColor //画笔颜色
int brushThin //画笔粗细
String globalBackgroundColor //画板可以分页,此属性可设置每一页的默认颜色
String selectBoxColor
ARBoardBaseParam.ARBoardInitAuthConfig
boolean drawEnable //画板是否可以绘制,默认 true
String progressBarUrl //载入画板时的 loading 图,支持 gif、jpg、png、base64、http、https
boolean progressEnable //此属性为 false 时不展示 loading 效果。为 true 时,progressBarUrl 不为空展示 Url 内容,否则展示默认效果
初始化白板
除了实现画板,还能顺带实现即时通讯、音视频聊天功能,具体的音视频实现可以参考我们往期文章~如果您也想拥有如此方便的画板,请参考以下资料:
项目地址:https://github.com/anyRTC-UseCase/GuessDraw<br>白板 Demohttps://github.com/anyRTC/ARBoard-Android<br>白板 API 文档https://docs.anyrtc.io/cn/WhiteBoard/api-ref/whiteboard_android/overview
版权声明: 本文为 InfoQ 作者【anyRTC开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/c6fb7f5b701f0313ada224156】。文章转载请联系作者。
评论