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

Post on 10-May-2015

809 Views

Category:

Technology

23 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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/Common 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

top related