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