三国杀开源系列之一104@365
(此文原在新浪博客上發的,但是新浪博客的插入代碼實在是不友好,忍無可忍的情況下,又回到csdn上重新寫一遍。)
? ? ? ? 一直想寫一系列的系列教程,這么多年挖了很多大坑一直沒有填(坑都在小本本上記著,欠下的債遲早都要還),現在準備開始慢慢填坑了。三國殺是其中一個坑,剛畢業那會兒,在csdn上寫過一個太陽神開源三國殺的編譯教程,用的是QT C++的框架,后來也自己寫過幾個武將、裝備、錦囊啥的,再后來太陽神三國殺論壇關閉了,那會兒下載的好多半成品的開源工程,包括水滸殺、英雄殺、闖關殺等等,現在電腦里依然保存著這些代碼,大多數還都能編譯通過。后來太陽神官方版的源代碼不再更新了,三國殺online更新了一個又一個版本,這兩個版本之間也沒有了同步,直到最近在水滸殺的qq群里,發現了無名殺。
? ? ? ?無名殺是基于html+js+css,核心代碼使用js實現的,目前仍與三國殺online保持同步更新,而且還出了很多有趣的擴展模式,比如塔防、戰旗、爐石、斗地主等等,更為重要的是,QQ群里保持高度的活躍。于是,準備先拿這個源代碼進行練手,開始我三國殺開源系列的教程編寫。
? ? ? ?無名殺的源代碼下載地址:https://github.com/libccy/noname.git
? ? ? ?無名殺擴展包的源代碼下載地址:https://github.com/libccy/noname-extension.git
? ? ? ?在開始研究主體源代碼前,先以寫擴展包為基礎,農村包圍城市,慢慢一點一點的剝洋蔥。QQ群里有數以百計擴展包,我選取英雄殺為標的進行制作,原因很簡單,英雄殺有官方的參照,更重要的是有資源,省卻了美工、配音等一系列的工作。但初步來開,無名殺的擴展能力仍然沒有太陽神那樣靈活。anyway,不管白貓黑貓,能抓住老鼠就是好貓。
? ? ? ?無名殺比太陽神還有一個地方就是,沒有現成的文檔可參閱(太陽神三國殺光api都有好多人整理,至于如如何寫武將、技能、裝備、錦囊等卡牌的教程那就更多了),只能靠查看之前的代碼慢慢摸索了。
? ? ? ?PS:這些教程是我自學的一個記錄,所以很多不理解的地方,我會先把坑留著(又是坑!!!)回頭會再補。
? ? ? ---------憂傷的分割線(以上是廢話)---------
? ? ? ?無名殺的擴展包,有以下文件組成:
? ? ? ?1、代碼文件:只需要一個extension.js即可2、資源文件:圖片、配音等,放在同級目錄之下即可。? ? ? ?首先,看下extension.js文件的構成。
? ? ? ?1、整個文件有一個函數構成,這個函數有兩個參數,一個字符串和一個函數
game.import()game.import("extension",function(lib,game,ui,get,ai,_status){})? ? ? ?2、字符串“extension”是固定不變的,重點看這個function函數,如下:
輸入參數共6個:lib,game,ui,get,ai,_status返回值長度為8的數組:name="xx",content:function (config,pack){},precontent:function (){},help:{},config:{},package:{},editable:false,files:{}? ? ? ?整個形式如下:
game.import("extension",function(lib,game,ui,get,ai,_status){return {name:"",content:function (config,pack){},precontent:function (){},help:{},config:{},package:{},editable:false,files:{}} })? ? ? ?3、現在開始逐個講解返回數組的每個參數之name和content:function
name='xhero', //擴展包的名字,我起名x英雄殺 //content:function (config,pack){},可留空,可以根據不同的配置文件加載不同內容,可以自定義翻譯、音樂播放、圖片特效等等內容,其他作用暫時還沒吃透,等后面用得到的時候再講。本擴展包,當前版本暫時只用到翻譯功能(君、臣、民、魂),內容如下: content:function (config,pack){lib.group.push('min');lib.translate.min='<span style="color:#00EC00">民</span>';lib.translate.minColor='wood';lib.group.push('chen');lib.translate.chen='<span style="color:#0072E3">臣</span>';lib.translate.chenColor='water';lib.group.push('jun');lib.translate.jun='<span style="color:#FF8000">君</span>';lib.translate.junColor='gold';lib.group.push('hun');lib.translate.hun='<span style="color:#FF0000">魂</span>';lib.translate.hunColor='fire'; },(明天要去體檢,今天就先寫到這兒吧。)
總結
以上是生活随笔為你收集整理的三国杀开源系列之一104@365的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多协议数据采集网关结合TDEngine时
- 下一篇: STM32开发项目:定时器预装载寄存器(