Egret《決戰沙城》框架學習


 

源碼地址:https://github.com/yicaoyimuys/EgretGameEngine

 

雖然走花觀馬看了看,但是收獲還是蠻多。

 

mvc:

BaseController         控制基類,保存Model,View,Proxy的引用,處理三者之間的邏輯,遠程通訊和模塊間的事件邏輯

BaseModel               數據基類,保存數據

BaseProxy                通訊基類,派發和接收http和ws通訊,並向controll發送通訊結果

IBaseView                視圖基類接口

BaseEuiView            視圖基類,加載模塊對應資源,派發模塊事件

BaseSpriteView        視圖基類,加載模塊對應資源,派發模塊事件

ControllerMananger  控制管理類,注冊和注銷Controller,派發跨模塊事件,獲取跨模塊Model

ViewManager            視圖管理類,注冊和注銷View,打開和關閉View

 

工具類:

SingtonClass     單例基類,用於繼承,實現單例模式

 

Keyboard            鍵盤常量

 

BitmapNumber    位圖字體,根據輸入數字,獲取對應單張數字圖片,拼成連續數字。僅支持單張圖片,例如0-9需要10張單張圖片,而不能用一張0-9圖片,因為代碼里沒有裁剪功能。

HotspotBItmap    熱點位圖,能保存自定義觸摸區域+回調,點擊觸摸區域后執行回調

 

DragonBonesArmature                   龍骨動畫,播放、停止、銷毀等基礎龍骨操作,監聽並處理完成事件、幀事件,替換插槽等換裝功能

DragonBonesArmatureContainer    多龍骨動畫容器,能保存多個龍骨和對應的action,  並對多個龍骨進行注冊、銷毀、播放、停止、幀事件等處理

DragonBonesFactory                       龍骨工場,傳入龍骨圖片配置資源,初始化、創建龍骨動畫,龍骨體系時間刷新

 

GuideMaskBackgroud     引導背景層,利用四個shape拼出一個矩形可點擊區域,沒有用到反向遮罩

GuideUtils                        引導工具,包含引導的配置,具有顯示引導,隱藏引導,大步驟,小步驟,下一步驟等功能      

GuideView                       引導視圖,包含引導的文字,手指,遮罩,圖片, 輸入引導配置后顯示引導具體視圖

 

EasyLoading   加載動畫,用於加載資源等場合,顯示等待轉圈動畫

 

DataCache    Http數據緩存,將Http請求返回結果緩存

DataUpdate   Http數據更新類

Http                Http請求,只有post請求,支持序列發送

 

BaseMsg                             WS消息解析接口

ByteArrayMsg                     字節消息處理類,接收、發送、解析、封裝消息

ByteArrayMsgByProtobuf    Proto消息處理類,接收、發送、解析、封裝消息

Socket                                  Socket通訊類,socket的連接,消息發送、接收、關閉、錯誤處理、斷線重連等功能

SocketConst                         Socket事件常量

UTFMsg                                字符串消息

UTFMsgByJson                    Json消息處理

 

BaseEuiLayer                      圖層基類

BaseScene                          場景基類,添加、移除Layer,進入和退出Scene時執行指定函數

BaseSpriteLayer                  圖層基類

SceneManager                    場景管理類,注冊、注銷、切換場景

 

BaseSound                          聲音基類,異步加載聲音,緩存聲音, 定時清理聲音緩存

ISoundBg                             背景音接口

ISoundEffect                         音效接口

SoundBg                              背景音樂類,播放、停止、暫停、恢復、音量設置等功能

SoundBgWx                         微信小游戲背景音樂

SoundEffect                         音效, 播放、停止、音效設置等功能

SoundEfectWx                     微信小游戲音效

SoundManager                     聲音管理類,根據本地緩存設置音樂開關,播放、停止、暫停、音量設置等功能

 

AllAsyncExecutor                隊列處理函數,按隊列執行保存在列表里的函數

AnchorUtils                          錨點處理,設置、獲取、改變對象的錨點等功能

ArrayUtils                             數組工具類,遍歷操作數組

AverageUtils                        平均數工具類

CommonUtils                       通用工具類,字體描邊,深度復制,鎖屏等功能

DateUtils                              Date工具類,時間格式化、獲取星期、判斷兩個時間是否同一天等功能

DebugUtils                           Debug調試工具類

DelayOptManager               延遲操作工具類,每幀執行緩存的函數,如果執行時間超過指定的闕值,就跳到下一幀再執行緩存的函數

DeviceUtils                           設備工具類,判斷是否h5、微信小游戲、Native等平台,判斷是否Chrome、Safari瀏覽器等

DispalyUtils                          顯示對象工具類,創建Bitmap、TextField、位圖字體、父級移除對象等功能

EffectUtils                            效果工具類,抖動效果,放大縮小效果等

EgretExpandUtils                引擎擴展類

FrameDelay                        幀延遲處理類,延遲一段時間再執行指定函數

FrameExecutor                   分幀處理類,延遲指定幀數后,執行列表中緩存的一個函數,直到所有函數分幀執行完畢

KeyboardUtils                     鍵盤工具類,鍵盤的按下和彈起事件處理

LocationPropertyUtils         URL處理類,給url參數賦值等功能

Log                                     日志打印類,console打印時加上前綴[Debug]、[Warn] 等標識,瀏覽器調試時對打印信息更好識別了

MathUtils                             數學計算工具類,弧度轉角度,兩點間距離等

md5                                     md5類

MessageCenter                  事件管理類,監聽、移除事件等

ObjectPool                          對象池類

Percent                               百分比類,計算百分比

QueueExecutor                  隊列處理,隊列處理緩存列表里的函數

RandomUtils                      隨機數類,獲取區間隨機數、在一個數組隨機獲取一個元素等功能

RenderTextureManager    解決1G內存機器最多能使用20個canvas的限制

ResourceUtils                    資源工具,資源配置文件加載、靜默加載、資源組加載等功能

RockerUtils                        搖桿控制類

ShockUtils                          震動

StageUtils                          舞台相關

StringBuffer                       字符串處理

StringUtils                          字符串工具類,去掉空格,獲取字符串長度等功能

TextFlowMaker                   字體拼接,一個文本里字體有不同顏色

TimerMananger                 Timer管理類,指定時間或幀后執行指定的函數

TouchEventHook                hack引擎點擊事件

TweenUtils                          Tween工具類,暫停、恢復所有Tween

 


免責聲明!

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



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