新手光能
酷丁平台是基于emscripten开发的,所以拥有emscripten头文件<emscripten.h>
然后还可以在浏览器中运行js代码,乃至和js交换数据
我们知道js中有一个叫做xhr的东西(XMLHttpRequest)可以和网络交互
所以我们解决了平台的一大难题(联机不方便)
虽然还达不到MMO实时联机,但是类似于sc云变量那样的高延迟联机或者排行榜已经足够了
然后搭配上我的MySQL数据库,基本就可以做出那种带存档点的游戏了,在存档点使用xhr向php发送信息,php在后端把数据写入MySQL数据库,后面调取数据时可以直接调用也可以,websocket可以实现低时延实时联机,做枪战之类的游戏够了,但是我们要像协程一样执行一会c++执行一会js我还没有解决办法,但是大佬 @薛乘志 应该会有解决方案
如果要做类似于florr这样的游戏,用xhr+php其实也够了,没有pvp不需要低时延,每个人看每个人的画面即可
xhr就是创建和撤销连接太慢了,就算使用长连接,http的头部也太累赘了,所以需要websocket,但是有了websocket也没有服务器,所以websocket应该短期内无法实现
我已经和老师反馈了这个问题了,看看老师后面会不会提供联机的解决方案
不过编程平台好像已经停止维护了(划掉)
具体可以看下面的作品
https://kuding1024.com/#/share?uuid=eae6ccd6dcc445c1b8b1c7e87aef0c8a
使用xhr向百度发出请求,404不要紧,就是不允许xhr而已,重点是可以发出去请求,这就够了
下期讲使用原生C++的linsocket实现网络实时通信
(这玩意冒着大风险发出来的,希望热度高一点,万一被老师发现就全废了)
王牌工作室官方在2024-07-08 20:40:41追加了内容
酷丁平台的emsc ripten_run_sc ript()函数大家应该都知道,但是这个函数每次都在新的上下文里面运行js,导致我们没有什么操作空间
但是我找到一种方法,那就是每次都在window对象上面读写,就可以规避这个问题,全局window对象只有一个,都是相同对象
没了
https://kuding1024.com/#/share?uuid=56aa7f3b6dbe47ce8b5e0dd19572a724