4.0 KiB
4.0 KiB
5号玩家共建分支
TODO LIST
- 网络通讯模块
- 日志模块
- BUTTON常规点击效果事件封装(btnPrefab脚本挂载)
- 层级管理
- 音频管理器
- UI管理器(prefab资源及prefab生成的组件和界面管理)
- 开发者界面(切换日志输出过滤,通过UIManager打开界面,协议流程调用,游戏逻辑功能、动画,检测牌型等)
- 代码特效管理器
- 活动图标组件
- 引导系统
- 配置管理工具
- 资源管理器
- 基于2.4的cc.AssetManager的加载封装
- 更加方便的接口调用,只实现了三个接口:
- preload 预加载
- getAssetAsyn 异步取资源
- getAsset 同步取资源
- 强预加载实现(引擎的预加载接口为弱预加载),为首次呈现游戏提供无缝体验支持,且支持进度监测
NOTE
-
proto_bundle 不能导入为插件
-
// var $protobuf = require("protobufjs/minimal"); <br> var $protobuf = protobuf; -
// import * as $protobuf from "protobufjs"; <br> import * as $protobuf from "./protobuf"; -
定义自定义数组
@property(cc.Button) btnArr:cc.Button[] =[]; -
定义自定义类型 自定义类型
enum E_POKER_SUIT { NONE, DIAMONDS, CLUBS, HEARTS, JOKER } @ccclass class pokerSprFra{ @property(cc.SpriteFrame) [E_POKER_SUIT.DIAMONDS]:cc.SpriteFrame = null; @property(cc.SpriteFrame) [E_POKER_SUIT.HEARTS]:cc.SpriteFrame = null; @property(cc.SpriteFrame) [E_POKER_SUIT.SPADES]:cc.SpriteFrame = null; constructor() {} }使用自定义类型
@property({type:pokerSprFra}) sprFr_Dic = {}; -
定义getter setter
private _state: E_CONTROL_PANEL_STATE; @property get state () { return this._state; } set state (value: E_CONTROL_PANEL_STATE) { this._state = value; this.changeStatus(value) }
VSCODE 快捷键
- Shift + Alt + Down/Up 复制光标所在行,并根据操作方向粘贴到临近位置
- 格式化代码: Alt + Shift + F (格式化后保存提交,确保代码格式一致,提高可读性)
命名规范
- 语法顺序
- 驼峰命名
- 形容词在前,主语在后 e.g. prettyGirl
- 下划线命名(少用)
- 主语在前,形容词在后 e.g. girl_pretty
- 帕斯卡命名
- 同驼峰
- 驼峰命名
- 适用类型
-
类名, prefab, scene 等使用[帕斯卡命名法] e.g. GameScene
-
方法名, 变量名 等使用[驼峰命名法] e.g. getGameScene
-
常量 使用[下划线命名法](全大写, enum以E开头,type以T开头)
e.g.
enum E_HAIR_STYLE type T_HAIR_STYLE -
特殊情况
- 私有变量 e.g. mName
- 静态私有变量 e.g. sName
-
框架说明
- 解耦规范:
- 具体挂载UI节点的view类只关注该节点UI相关操作, 以及对事件的处理逻辑, 所有需要的非UI节点数据依赖注入(原则上“挂载UI节点的view类”仅被相应的Mediator类引用)。
- View 类对其他所有类无感知(主场景和强关联的组件除外 e.g. DdzGameScene; list与item), 目的是让UI组件及脚本方便移植可复用。
- 名词解释
- PM:Play Moudle, 与大厅模块相对应的游戏模块
- 列表视图
- 列表继承 PM_UI_List
- 列表项脚本继承 PM_Abs_UI_ListItem
项目代码目录结构
- Script
- command
- component(视图组件)
- listitem(列表项组件)
- componentScript(为视图组件提供行为的脚本组件)
- devTool
- facade
- global
- manager
- mediator
- model
- net
- pb
- plugin(三方库)
子游戏bundle加载流程
- 大厅loadBundle,实例化预制体
- 预制体挂在场景脚本组件onLoad,初始化mvc框架