SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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
Android
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 CI service
IDE
自动化Build脚本
调试工具
打包工具
日志管理
Engine
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
基于Zerobrane
改善断点性能-提高100x
支持symbols和文件的快速定位
Push to device
改善智能提示
Lua调试器
Stub
Debugger
iOS stub
Android
stub
Windows
stub
文件列表和MD5
连接debugger
连接成功
日志和断点
改变了的文件
推送文件
关闭连接
发送命令
文件部署过程调试过程
Push to device
• 更新一定要Transaction
• 增量更新
• 按需下载
• 功能模块
• 分辨率 (分辨率匹配)
• 资源加密
• APK更新(国内android市场)
Resource Manager-设计目的
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
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
Center
Build
Hudson做build管理
手机下载安装
新版本下载提示、自动安装更新包
Crash/日志采集和分析
Session time分析
CDN同步检查
Udid检测、申请流程
一键发布到App store和Google Play (future)
Build/CI
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
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/probablycorey/wax
ZeroBrane
https://github.com/pkulchenko/ZeroBraneStudio
Mobdebug
https://github.com/pkulchenko/MobDebug
DragonBones
http://dragonbones.github.com
多谢开源项目
你想和一群有创造力、想象力的人一起工作吗?
你相信工程师能改变世界吗?
你想不断挑战、提升自己的能力吗?
请加入我们吧!
联系人:柳小姐(HR)
QQ : 2459685715
E-mail:lu.liu@happyelements.com
C++
Java
基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en

Weitere ähnliche Inhalte

Andere mochten auch

2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例Justin Lee
 
Hackatron - UIKit Dynamics
Hackatron - UIKit DynamicsHackatron - UIKit Dynamics
Hackatron - UIKit DynamicsRenzo G. Pretto
 
20110525[Taipei GTUG] titanium mobile簡介
20110525[Taipei GTUG] titanium mobile簡介20110525[Taipei GTUG] titanium mobile簡介
20110525[Taipei GTUG] titanium mobile簡介Justin Lee
 
Objective C Tricks
Objective C TricksObjective C Tricks
Objective C TricksInova LLC
 
Extending Titanium with native iOS and Android modules
Extending Titanium with native iOS and Android modules Extending Titanium with native iOS and Android modules
Extending Titanium with native iOS and Android modules omorandi
 
Lua/LuaJIT 字节码浅析
Lua/LuaJIT 字节码浅析Lua/LuaJIT 字节码浅析
Lua/LuaJIT 字节码浅析Xiaozhe Wang
 

Andere mochten auch (7)

2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
2011/08/20跨平台行動應用程式使用者介面開發—以titanium mobile為例
 
Hackatron - UIKit Dynamics
Hackatron - UIKit DynamicsHackatron - UIKit Dynamics
Hackatron - UIKit Dynamics
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
20110525[Taipei GTUG] titanium mobile簡介
20110525[Taipei GTUG] titanium mobile簡介20110525[Taipei GTUG] titanium mobile簡介
20110525[Taipei GTUG] titanium mobile簡介
 
Objective C Tricks
Objective C TricksObjective C Tricks
Objective C Tricks
 
Extending Titanium with native iOS and Android modules
Extending Titanium with native iOS and Android modules Extending Titanium with native iOS and Android modules
Extending Titanium with native iOS and Android modules
 
Lua/LuaJIT 字节码浅析
Lua/LuaJIT 字节码浅析Lua/LuaJIT 字节码浅析
Lua/LuaJIT 字节码浅析
 

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

Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture lusecheng
 
Mobile web開發架構與入門
Mobile web開發架構與入門Mobile web開發架構與入門
Mobile web開發架構與入門Chi-wen Sun
 
Cocos2d x presentation cocoachina-王哲
Cocos2d x presentation cocoachina-王哲Cocos2d x presentation cocoachina-王哲
Cocos2d x presentation cocoachina-王哲csdnmobile
 
和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂imShining @DevCamp
 
快速打包工具Quick build
快速打包工具Quick build快速打包工具Quick build
快速打包工具Quick buildtb-vertical-guide
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 longMeng-Ru (Raymond) Tsai
 
Tech.days Taiwan AZR302
Tech.days Taiwan AZR302Tech.days Taiwan AZR302
Tech.days Taiwan AZR302Jeff Chu
 
07 funny sango td and cocos2d-x
07   funny sango td and cocos2d-x07   funny sango td and cocos2d-x
07 funny sango td and cocos2d-x乐费 胡
 
ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作艾鍗科技
 
基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映heyfluke
 
基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映heyfluke
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Gelis Wu
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Eric Xiao
 
51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典sys520084
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台Bo-Yi Wu
 
Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析Bill Lin
 
I os与android多平台开发心得
I os与android多平台开发心得I os与android多平台开发心得
I os与android多平台开发心得drewz lin
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發Edward Kuo
 

Ähnlich wie 基于Cocos2 d x二次开发的自有引擎方案分享-mobile 2d framework en (20)

Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture
 
Mobile web開發架構與入門
Mobile web開發架構與入門Mobile web開發架構與入門
Mobile web開發架構與入門
 
Cocos2d x presentation cocoachina-王哲
Cocos2d x presentation cocoachina-王哲Cocos2d x presentation cocoachina-王哲
Cocos2d x presentation cocoachina-王哲
 
和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂
 
快速打包工具Quick build
快速打包工具Quick build快速打包工具Quick build
快速打包工具Quick build
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 long
 
Tech.days Taiwan AZR302
Tech.days Taiwan AZR302Tech.days Taiwan AZR302
Tech.days Taiwan AZR302
 
07 funny sango td and cocos2d-x
07   funny sango td and cocos2d-x07   funny sango td and cocos2d-x
07 funny sango td and cocos2d-x
 
ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作
 
基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映
 
基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映基于Android ndk的软件开发简介 放映
基于Android ndk的软件开发简介 放映
 
Android ADK
Android ADKAndroid ADK
Android ADK
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
 
51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台
 
Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析Static Code Analysis 靜態程式碼分析
Static Code Analysis 靜態程式碼分析
 
Jni文档
Jni文档Jni文档
Jni文档
 
I os与android多平台开发心得
I os与android多平台开发心得I os与android多平台开发心得
I os与android多平台开发心得
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
 

Kürzlich hochgeladen

函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptxNCU MCL
 
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptxNCU MCL
 
20170104 - transaction_pattern
20170104 - transaction_pattern20170104 - transaction_pattern
20170104 - transaction_patternJamie (Taka) Wang
 
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptxSymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptxNCU MCL
 
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptxSymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptxNCU MCL
 
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptxNCU MCL
 
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】黑客 接单【TG/微信qoqoqdqd】
 
20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLPJamie (Taka) Wang
 
20161220 - domain-driven design
20161220 - domain-driven design20161220 - domain-driven design
20161220 - domain-driven designJamie (Taka) Wang
 
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptxNCU MCL
 

Kürzlich hochgeladen (15)

20200226 - AI Overview
20200226 - AI Overview20200226 - AI Overview
20200226 - AI Overview
 
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
 
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
 
20170104 - transaction_pattern
20170104 - transaction_pattern20170104 - transaction_pattern
20170104 - transaction_pattern
 
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptxSymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
 
20151111 - IoT Sync Up
20151111 - IoT Sync Up20151111 - IoT Sync Up
20151111 - IoT Sync Up
 
Entities in DCPS (DDS)
Entities in DCPS (DDS)Entities in DCPS (DDS)
Entities in DCPS (DDS)
 
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptxSymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
 
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
 
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
 
20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP
 
20161220 - domain-driven design
20161220 - domain-driven design20161220 - domain-driven design
20161220 - domain-driven design
 
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
 
20161027 - edge part2
20161027 - edge part220161027 - edge part2
20161027 - edge part2
 
20200323 - AI Intro
20200323 - AI Intro20200323 - AI Intro
20200323 - AI Intro
 

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