《緋雨騎士團》Demo


 

 

在家無事花幾天做了個放置掛機demo,做着玩吧。和海拓的《凡人修仙傳》類似吧,自動掛機刷怪打boss數值游戲,但是我比較喜歡二次元的,所以選了《緋雨騎士團》的資源。

 

參考了以下資料:

決戰沙城 :mvc,工具類

大富豪3: model層DataCenter數據中心

雷霆傳奇:mvp,工具類

騎戰三國:新手指引

puremvc:mvc

Laya工具類:Laya.Scene和Laya.Dialog

其他博客:對象池Pool

目前只實現了主場景尋路掛機打怪,得錢得經驗。模塊太多了,十幾個模塊,一個模塊N個二級頁面,肝多少天才能寫完啊,遂放棄了 >_<

 

開發時間 斷斷續續吧  打打游戲 看看電影 寫寫代碼

 

體驗地址:http://www.biliking.com/game/rainknight/

體驗二維碼:

 

 

框架部分如圖:

 

 

MVP:

1.控制

    Controller      控制管理類主要是注冊,注銷control,保存controller

    BaseControl   控制基類,主要是監聽和派發模塊內和模塊間,以及網絡事件。模塊view和model之間的邏輯。

2.數據

   BaseModel   數據基類,啥也沒有。這里不需要和視圖交互,不需要派發事件。

   DataCenter    數據中心,單例,所有數據保存在數據中心,並通過數據中心獲取。

3.視圖

  BaseView    視圖基類

  BaseDialog  會話框基類,主要領取獎勵,斷線提示啊之類的會話框

  BasePanel  模塊基類,主要是角色,技能,打造等等模塊類。

  BaseScene   場景基類,主要是登錄,游戲場景等

  ViewManager  視圖管理類,主要是注冊,打開,關閉,保存視圖,內置模塊所需加載資源配表,加載動畫等

  DialogManager  會話框管理類 ,繼承自ViewManager

  Panelmananger  模塊管理類,繼承自ViewManager

  SceneManager   場景管理類,繼承自ViewManager

 

 

 自定義組件:

 

 BitmapFont  自定義位圖字體,不需要texturemerger制作字體了。支持單張數字圖,整張數字圖加載並顯示位圖字體,drawcall=1,字體位圖緩存共用,節約內存。

BitmapMovie  自定義影片剪輯,不需要龍骨或texturemerger制作幀動畫了。支持單張幀動畫,整張幀動畫圖加載並播放動畫,drawcall=1,使用位圖緩存效率尚可。

LoadAnim      資源加載,網絡請求等loading動畫

NativeToUI    微信小游戲,跳轉其它小游戲的圖標,間隔晃動動畫

ScreenLock   屏幕鎖定類,部分操作時,鎖定屏幕不讓操作

ScrollVIew     圖片輪播組件

Tips               游戲內提示組件,比如獲得經驗,獲得金幣等等提示。

UIPopupMenu   下拉菜單組件

BaseBone    自定義龍骨組件,支持局部換裝,全局換裝,龍骨資源異步加載等等

BaseMovieClip  自定義龍骨導出的幀動畫組件

 

新手指引:

 

 GuideManager  新手指引管理類,支持注冊,下一步,引導配置等等

GuideMask        新手指引遮罩等,鏤空一個矩形局域

GuideReverseMask   新手指引遮罩類,支持反向遮罩,鏤空一個不規則區域,例如圓形,圓角矩形等等。

 

手勢:

 

GestureDrag   拖拽手勢

GesturePinch   兩指放大手勢,例如兩指放大一張圖片

 

通訊:

 

 Http   http通訊類,支持post,get,put通訊,支持通訊失敗重新發送,支持序列發送

HttpUrl  通訊接口

NetLock  通訊鎖屏,特殊請求必須等待返回才能進行下一步操作時,進行鎖屏

ClientSocket   websocket通訊,支持連接,斷線重連,消息派發,消息加解密,protobuf,json格式

ClientSocketIO   socket.io通訊類

ProtoUrl      通訊接口

SocketConst   通訊事件常量

 

聲音:

 BaseSound   h5平台聲音類,封裝了egret.Sound和對應的egret.SoundChannel,方便操作

ISoundManager  聲音管理類接口

SoundManager   h5平台聲音管理類,支持播放音效,背景音樂,異步加載音樂,帶緩存列表支持同時播放相同音樂

WxSoundManager  微信小游戲平台聲音管理類,  功能同上

 

平台:

 

 DebugPlatform   普通調試環境

IPlatform     平台接口

WxPlatform   微信小游戲平台,封裝了微信接口

 

工具類:

 

 ArrayUtils   數組工具類

BtnTap    按鈕事件類,支持按鈕點擊動畫,點擊聲音

DateTimer   基於系統時間的計時器,不受瀏覽器休眠影響

DeviesUtils  設備工具類, 主要是微信,移動,pc平台的判斷等等

EventManager  事件管理類, 主要是框架模塊間的事件監聽,派發等管理

LayerMananger   圖層管理類, 主要是場景層,彈框層,會話層,提示層等等

LocalStorage    本地緩存工具類

Log      調試信息工具類

NumberUtils  數字工具類

Pool    對象池

ResUtils   資源管理類,支持單個Group加載,多個Group加載,皮膚配置文件加載,靜默加載等等

ShakeUtils  震動效果類,有空了應該封裝到一個動畫的特效類里。

StageUtils   舞台工具類, 主要是保存了stage,並對stage進行操作,或者獲取stage屬性,額外支持屏幕適配模式設置

TimerManager   計時器管理類,這是唯一個直接復制決戰沙城的工具類。。。

VirtualJK    虛擬搖桿組件,這個應該放到自定義組件里,漏了。。

WxAuth    封裝微信小游戲平台授權流程,應該放到platform里,漏了。。

WxDeviceMotion  微信設備工具類,支持搖一搖,手機翻轉,手機朝下等等判斷

 

Astar

 

 Astar A*尋路算法

Game  A*尋路使用demo

Grid  格子

Node  節點

 

 App

 

 

保存了所有工具類的引用,這樣可以方便使用

//訪問登錄數據的用戶id
let userID:string = App.DataCenter.LoginModel.userID;

//打開一個對話框
App.Dialog.open(HttpErrorDialog);

//打開登錄場景
App.Scene.open(LoginScene);

//顯示一個提示
App.Tips.show("業務模塊就不寫了");

  

 

 

游戲代碼部分:

 

 

Main 入口文件

VersionManager  資源版本管理

其他就是常規的游戲和業務模塊了,目前只寫了登錄,角色,伙伴,游戲主場景。

rpg模塊太多了,一個模塊下面還有N個二級界面,一個人要寫到死哦。業務模塊也沒什么含金量。就不寫了。累。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM