17年初因?yàn)槲覀兊牡轮荩╟ocos2dx-lua)在印尼反應(yīng)還不錯(cuò)昨悼。后面決定要上facebook,為了最大程度的重用代碼谴垫,當(dāng)時(shí)選擇了cocos2dx-js來(lái)開(kāi)發(fā)蜓耻。
還做了一個(gè)工具將lua代碼中的一些關(guān)鍵字和語(yǔ)法轉(zhuǎn)為js 譬如lua中的self轉(zhuǎn)為js中的this,諸如此類雾袱。最后把用到的ui文件導(dǎo)出為.json格式恤筛,前端算是比較容易的解決了各種問(wèn)題。
服務(wù)器方面也比較輕松芹橡。無(wú)非就是wss轉(zhuǎn)tcp的問(wèn)題毒坛。這個(gè)問(wèn)題當(dāng)時(shí)用的是nginx做了反向代理。把wss轉(zhuǎn)為ws林说,然后連接到skynet煎殷。還有一個(gè)問(wèn)題就是sproto庫(kù)的問(wèn)題,使用skynet鐵定要使用sproto這樣才可以使用提供的rpc遠(yuǎn)程調(diào)用方案腿箩。
問(wèn)題來(lái)了豪直,sproto并不提供js版本,當(dāng)時(shí)在github中找了珠移,有一個(gè)sproto-js庫(kù)弓乙,但是這個(gè)sproto-js問(wèn)題太多了,沒(méi)辦法只能自己寫(xiě)钧惧。前前后后花了2~3天時(shí)間才寫(xiě)好暇韧,主要是對(duì)js不是特別的熟悉。后面項(xiàng)目?jī)?nèi)測(cè)通過(guò)了浓瞪,很遺憾的是還沒(méi)正式上線公司就出現(xiàn)比較大的問(wèn)題锨咙。這個(gè)項(xiàng)目也就擱置了。
剛好上個(gè)月公司準(zhǔn)備開(kāi)發(fā)微信小游戲追逮,一方面吐槽creator的各種不便一方面慶幸之前做過(guò)這些事情酪刀,可以省去不少時(shí)間,今天在cocos論壇看到有人在賣sproto-js的插件钮孵,我就想把之前寫(xiě)的sproto-js放出來(lái)給需要的朋友使用骂倘。
地址:
https://github.com/simonxlg/sproto-js
因?yàn)槭菑脑却a弄出來(lái),使用test可能有些問(wèn)題巴席。不過(guò)對(duì)熟悉skynet sproto 的用戶不會(huì)構(gòu)成困擾历涝。
里面包含把協(xié)議文件轉(zhuǎn)為二進(jìn)制文件給js使用。(其實(shí)就是用的官方的sprotoparser.lua修改的)
其實(shí)這個(gè)庫(kù)無(wú)非就是用js把云風(fēng)的sproto.c重寫(xiě)一遍,然后再寫(xiě)幾個(gè)為rpc調(diào)用配套使用的函數(shù)而已荧库。
用這個(gè)sproto-js就可以使用js和skynet進(jìn)行很典型的開(kāi)發(fā)堰塌。