Git Product home page Git Product logo

piggy's Introduction

Piggy

一、Piggy 是什么

Piggy 是与 Cocos Creator 相关的一系列技术的集合,你可以把它当成是一个增强开发的工具包。 Piggy 仍在开发中,大部分特性和接口随时会面临大面积的更改,暂时请勿将其使用于生产环境。

Piggy 的特点

  • 追随官方引擎的更新;
  • 专注 2D 方向;3D 暂不涉猎;
  • 使用 JsDoc 注释,接口说明完整,拥有漂亮的代码提示;
  • 使用方便、容易升级、可自定义使用哪些模块;
  • 功能丰富,配备示例,帮助您快速入手;

二、Piggy 已经做到哪些很酷的事情

  • 优秀的屏幕适配方案,妈妈再也不用担心我写很多套的屏幕适配代码了;
  • 清晰的资源管理方案,资源占用一目了然;
  • 统一的资源加载接口,Loading 好轻松;
  • UI 视图可配置管理,还在到处 addChildremoveFromParent
  • UI 资源缓存自动释放,内存泄漏更少了;
  • 网络模块支持 Http 和 WebSocket (因为论坛上有很多网友反馈在原生平台上存在连不上的问题,因此 SocketIO 不列入支持计划中)
  • 自动扩充的对象池,是个要造很多娃的对象,那就交给它;
  • 对接微信小游戏,帮助你快速接入微信小游戏平台;
  • ......

三、Piggy 不能解决或暂未解决的事情

  1. Piggy 的定位是一个专门为 Cocos Creator 定制的 增强包,而不是框架 (作为框架应该尚早);当然,如果你想把它当成一个框架也不是不可以,只要到了手上觉得够用就好;
  2. Piggy 正在成长期,有些功能没有提供或正在开发中或不尽完善,如果有迫切的需求,欢迎来提 issue;当然,如果你愿意帮助我一起完善它,我会非常感激;
  3. Piggy 是个人项目,拿的是业余的时间来做的,因此更新不会很快,望请见谅;
  4. VideoPlayer 视频方案暂无很好的解决方案;

四、计划中的任务

  • 2020.02.15
    • 工程模板、新建工程、更新工程
    • 刷新资源路径
  • 2020.02.16
    • 地图工具
      • 地图拖拽
      • 地图缩放
      • 地块选择
      • 物件拖拽
  • 常驻任务
    • A*Star 寻路

五、如何使用 Piggy

  1. Clone Piggy 到本地
  2. 新建 Piggy 基础项目
    1. 切换到 tools 目录
    2. 执行 python Piggy.py create --dir=path/to/locate --pkg=package_name
    3. 等待项目创建完成
  3. 使用 Cocos Creator 打开工程项目,尽情开发吧

六、示例项目

七、关于 Piggy 的一些约定

  • 目录名称全部使用大驼峰;
  • Piggy 下的每个目录几乎都有一个以 下划线+目录名称 命名的文件,称为 模块导出文件
  • 除模块导出文件和 i18n.ts 外,其余文件名称全部使用大驼峰;
  • export 导出的模块名称全部转换为小驼峰,且不使用 export default
  • 常量全部使用大写,单词之间用下划线作分隔;
  • 类名全部使用大驼峰;
  • 私有组件属性名称使用 _ 开头,名称全部使用小写,单词之间用下划线作分隔;
  • 公共组件属性使用 p_ 开头,名称全部使用小写,单词之间用下划线作分隔;
  • 类实例成员使用 m_ 开头,不区分可访问性,名称全部使用小写,单词之间用下划线作分隔;
  • 类静态成员使用 s_ 开头,不区分可访问性,名称全部使用小写,单词之间用下划线作分隔;
  • 枚举类型定义使用 E_ 开头,名称使用大驼峰,单词之间用下划线作分隔;
  • 接口定义使用 I_ 开头,名称使用大驼峰,单词之间用下划线作分隔;
  • 类型别名使用 T_ 开头,名称使用大驼峰,单词之间用下划线作分隔;

八、Piggy 目录结构

  • Logic : 只处理用户逻辑,如视图切换、内容展示等等;
  • Piggy : Piggy 集成包;
    • Const : 存放常量、配置、国际化等数据;
      • Declare : 存放公共声明文件;
      • Locale : 部署国际化文件;
      • Config : 游戏配置文件;
    • Core : Piggy 核心包,如:国际化方案 i18n资源管理器 Res 等;
      • Algorithm :算法相关
      • Network: 网络相关
        • Http: Http/Https 通信
        • WebSocket : WebSocket 通信
    • Utils : 存放基础扩展包,如 字符串扩展 Str数组扩展 Arr 等;

piggy's People

Contributors

doooreyn avatar

Stargazers

Truong Giang avatar  avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.