一 .问题
最近合集游戏上线了,由于不同的盒子电视的遥控器差异性很大,造成我们游戏在操作体验上没法达到一致,所以老大又有一个新的想法,就是做一个手机遥控器,可以控制的我们游戏的,这样就可以统一操作体验。
二.方案
因为蓝牙有距离限制,所以直接pass了。那就只剩下局域网这个方案,而且老大要求ios和android都要上,但是我们组只有android开发,因为目前的电视和盒子基本都是基于android系统的(apple tv国内暂时没法用),没办法只能用c socket去实现通信,cocos2d-lua做界面,这样java和oc部分只需要写很少一部分代码,维护起来就很方面了
三.具体实现
用c socket去实现的话就得配置好ndk环境,这个网上教程很多,ndk 7以上的就可以直接在window下编译成so库了。因为android是基于linux系统的,所以这部分代码其实可以直接移植linux socket,只是回调部分会涉及到java的放射机制(我在这部分纠结了很久很久,最好发现是一个地方的参数写错了)。先大概了解一下jni的语法