Mobile 2D Framework
by Happy Elements
Cong Ling
Agenda
为什么
整体设计
Q&A
为什么使用cocos2dx?
我们使用过的技术
Cocos2d-iphone
HTML5
Flash air port
Cocos2dx
Conora
Unity
跨平台
可控性
为什么脚本化?
多版本维护
IOS和很多Android市场无法做到增量更新
大包包含所有分辨率,浪费带宽和存储
更新问题
Google Play:2小时
IOS:5天
审核周期
开发调试工具全部不一样
Context被破坏
真机调试的问题
调试困难
编译、部署、调试需要写脚本
Eclipse对NDK的支持很弱,特别是
debugging
Gdb在windows下有问题
需要使用MAC去编译、部署、调试IOS
Andro...
50%的联调时间在处理crash
引用计数池的问题
Context/Stack会丢失,特别是在优化版本
Crash
上线标准 5% crash rate over 5000 minutes testing sessions
为什么选择lua?
简单、可控
Lua最轻
国内市场商业最成熟的是 cocos2dx+lua
解决方案
我们做了那些改进?
Android:Java lua
IOS: OC  Lua
第三方库集成接口
IDE和调试器
UI编辑器
动画编辑器
TTF字体导出工具
工具
COCOS2D-X
Develop Tools
内存混淆
本地化
Utils 网络库
资源管理
Crash
渲染
脚本引擎
第三方接入
帐户系统 SNS接入
支付接入 Notification
DC打点 广告&积分墙
Log Tracker C...
Lua scripting runtime
tolua++
Cocos2dx/Comm
on Lib
iOS native api
luajava
iOS 3rd party
API
Android 3rd
party API
Android
...
基于Zerobrane
改善断点性能-提高100x
支持symbols和文件的快速定位
Push to device
改善智能提示
Lua调试器
Stub
Debugger
iOS stub
Android
stub
Windows
stub
文件列表和MD5
连接debugger
连接成功
日志和断点
改变了的文件
推送文件
关闭连接
发送命令
文件部署过程调试过程
Push to d...
• 更新一定要Transaction
• 增量更新
• 按需下载
• 功能模块
• 分辨率 (分辨率匹配)
• 资源加密
• APK更新(国内android市场)
Resource Manager-设计目的
APK/app目录
Resource Manager-设计
Current
Resource
Locator
Resource
Locator version
Content with md5
name
Old Resource
Locator...
Client CDN
Dynamic
Server
获取当前配置
下载配置
下载资源
查看当前配置是否是最新的
查看那些资源没有
增量更新
Client
CDN
Game
Res
Mgr
Ensure Modules
本地缓存了?
下载资源
回调结果
按需下载
加载资源
客户端配置管理 (支持lua/c/java)
Utils
Meta信息(支持lua/c/java)
Crash分析系统
PLCrash
reporter
Google
breakpad
Crash Analysis
Center
Log
tracker
Game
Crash folder
Crash Sent
Task
开发人员
Symbol...
Hudson做build管理
手机下载安装
新版本下载提示、自动安装更新包
Crash/日志采集和分析
Session time分析
CDN同步检查
Udid检测、申请流程
一键发布到App store和Google Play (future)...
Build/CI
Build.s
h
symbol
s
Hudso
n
apk/ipa/pn
g
resources
Adhoc.mobile
provision
svn
build_version
Projec
t.plist
Safari
...
Dragon Bones
■ Flash CS5.5+Plugin
■ UI Editor
■ Animation Editor
Font editor
■ BMP Font
■ TTF
工具
Particle designer
Glyph designer
第三方工具
多谢开源项目
Cocos2dx
https://github.com/cocos2d/cocos2d-x
LuaJava
http://www.keplerproject.org/luajava/
Wax
https://github.com/...
ZeroBrane
https://github.com/pkulchenko/ZeroBraneStudio
Mobdebug
https://github.com/pkulchenko/MobDebug
DragonBones
http:/...
你想和一群有创造力、想象力的人一起工作吗?
你相信工程师能改变世界吗?
你想不断挑战、提升自己的能力吗?
请加入我们吧!
联系人:柳小姐(HR)
QQ : 2459685715
E-mail:lu.liu@happyelements.com
C++
Java
基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en
Upcoming SlideShare
Loading in …5
×

基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en

766
-1

Published on

Published in: Technology, Travel
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
766
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en

  1. 1. Mobile 2D Framework by Happy Elements Cong Ling
  2. 2. Agenda 为什么 整体设计 Q&A
  3. 3. 为什么使用cocos2dx?
  4. 4. 我们使用过的技术 Cocos2d-iphone HTML5 Flash air port Cocos2dx Conora Unity 跨平台 可控性
  5. 5. 为什么脚本化?
  6. 6. 多版本维护 IOS和很多Android市场无法做到增量更新 大包包含所有分辨率,浪费带宽和存储 更新问题 Google Play:2小时 IOS:5天 审核周期
  7. 7. 开发调试工具全部不一样 Context被破坏 真机调试的问题 调试困难 编译、部署、调试需要写脚本 Eclipse对NDK的支持很弱,特别是 debugging Gdb在windows下有问题 需要使用MAC去编译、部署、调试IOS Android
  8. 8. 50%的联调时间在处理crash 引用计数池的问题 Context/Stack会丢失,特别是在优化版本 Crash 上线标准 5% crash rate over 5000 minutes testing sessions
  9. 9. 为什么选择lua?
  10. 10. 简单、可控 Lua最轻 国内市场商业最成熟的是 cocos2dx+lua 解决方案
  11. 11. 我们做了那些改进?
  12. 12. Android:Java lua IOS: OC  Lua 第三方库集成接口
  13. 13. IDE和调试器 UI编辑器 动画编辑器 TTF字体导出工具 工具
  14. 14. COCOS2D-X Develop Tools 内存混淆 本地化 Utils 网络库 资源管理 Crash 渲染 脚本引擎 第三方接入 帐户系统 SNS接入 支付接入 Notification DC打点 广告&积分墙 Log Tracker CI service IDE 自动化Build脚本 调试工具 打包工具 日志管理 Engine
  15. 15. Lua scripting runtime tolua++ Cocos2dx/Comm on Lib iOS native api luajava iOS 3rd party API Android 3rd party API Android native API Interface w/ languages Wax
  16. 16. 基于Zerobrane 改善断点性能-提高100x 支持symbols和文件的快速定位 Push to device 改善智能提示 Lua调试器
  17. 17. Stub Debugger iOS stub Android stub Windows stub 文件列表和MD5 连接debugger 连接成功 日志和断点 改变了的文件 推送文件 关闭连接 发送命令 文件部署过程调试过程 Push to device
  18. 18. • 更新一定要Transaction • 增量更新 • 按需下载 • 功能模块 • 分辨率 (分辨率匹配) • 资源加密 • APK更新(国内android市场) Resource Manager-设计目的
  19. 19. APK/app目录 Resource Manager-设计 Current Resource Locator Resource Locator version Content with md5 name Old Resource Locator Document目录 Content with md5 name Content with md5 name
  20. 20. Client CDN Dynamic Server 获取当前配置 下载配置 下载资源 查看当前配置是否是最新的 查看那些资源没有 增量更新
  21. 21. Client CDN Game Res Mgr Ensure Modules 本地缓存了? 下载资源 回调结果 按需下载 加载资源
  22. 22. 客户端配置管理 (支持lua/c/java) Utils Meta信息(支持lua/c/java)
  23. 23. Crash分析系统 PLCrash reporter Google breakpad Crash Analysis Center Log tracker Game Crash folder Crash Sent Task 开发人员 Symbol Center Build
  24. 24. Hudson做build管理 手机下载安装 新版本下载提示、自动安装更新包 Crash/日志采集和分析 Session time分析 CDN同步检查 Udid检测、申请流程 一键发布到App store和Google Play (future) Build/CI
  25. 25. Build/CI Build.s h symbol s Hudso n apk/ipa/pn g resources Adhoc.mobile provision svn build_version Projec t.plist Safari Mobile Browser Udid Check Resource Manager CDN Crash Analysis Latest Version Client Manager
  26. 26. Dragon Bones ■ Flash CS5.5+Plugin ■ UI Editor ■ Animation Editor Font editor ■ BMP Font ■ TTF 工具
  27. 27. Particle designer Glyph designer 第三方工具
  28. 28. 多谢开源项目 Cocos2dx https://github.com/cocos2d/cocos2d-x LuaJava http://www.keplerproject.org/luajava/ Wax https://github.com/probablycorey/wax
  29. 29. ZeroBrane https://github.com/pkulchenko/ZeroBraneStudio Mobdebug https://github.com/pkulchenko/MobDebug DragonBones http://dragonbones.github.com 多谢开源项目
  30. 30. 你想和一群有创造力、想象力的人一起工作吗? 你相信工程师能改变世界吗? 你想不断挑战、提升自己的能力吗?
  31. 31. 请加入我们吧! 联系人:柳小姐(HR) QQ : 2459685715 E-mail:lu.liu@happyelements.com C++ Java

×