源碼地址: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
