Egret《决战沙城》框架学习

Stella981
• 阅读 630

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

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
vue echarts vue
1、git地址https://github.com/ecomfe/vueecharts(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fecomfe%2Fvueecharts)2、使用(1)安装npminstallvueecha
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
Thingsboard Gateway开发环境
源码下载地址:https://github.com/thingsboard/thingsboardgateway(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fthingsboard%2Fthingsboardgateway)国内大神源码地址:htt
Wesley13 Wesley13
3年前
JAVA在线选房系统(JAVA毕业设计含源码和教程)
前言课设毕设源码收集已上传到github,包括:C,C,C,JAVA,PHP等源码,更多源码在整理中。地址:https://github.com/52JDK/SourceCollection(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2
Wesley13 Wesley13
3年前
Swoole源码学习记录(十一)——Worker,Connection
Swoole版本:1.7.5stableGithub地址:https://github.com/LinkedDestiny/swoolesrcanalysis(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2
Stella981 Stella981
3年前
Golang注册Eureka的工具包goeureka发布
1.简介提供Go微服务客户端注册到Eureka中心。点击:github地址(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FSimonWang00%2Fgoeureka),欢迎各位多多star!(已通过测试验证,用于正式生产部署)2.原理
Stella981 Stella981
3年前
Mybatis源码分析(一)
准备在阅读源码前,需要先clone源码地址:https://github.com/mybatis/mybatis3(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fmybatis%2Fmybatis3)Mybatis框架使用大量常见的设
Stella981 Stella981
3年前
Mybatis 通用Crud
前言(说明)源码地址:https://github.com/LittleNewbie/portal(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FLittleNewbie%2Fportal)mybatis版本 3.2.6mybatis
Wesley13 Wesley13
3年前
C#简单学生信息管理系统(C#课程设计)
前言课设毕设源码收集已上传到github,包括:C,C,C,JAVA,PHP等源码,更多源码在整理中。地址:https://github.com/52JDK/SourceCollection(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2
Wesley13 Wesley13
3年前
94行代码实现网站多主题模板自由切换效果
源码下载地址:https://github.com/huangyouzhi/themechange(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fhuangyouzhi%2Fthemechange)94行代码网站多模板主题切换,适合多风