Giter Club home page Giter Club logo

v3quick's Introduction

quick-cocos2d-x v3

quick-cocos2d-x v3 是在 cocos2dx 3.x 的最新版本基础之上,移植了原来 quick-cocos2d-x 的核心框架、强大的 player 、丰富的示例等,并增加更多新的功能。

当前版本为 V3.3

使用指南

下载与安装

  • 安装包(含源代码)

    安装包可以快速完成一些基本设置,并包含编译好的 player 执行文件,简化了安装配置步骤。只需要下载 quick 安装包后,按照安装程序的提示进行操作即可。如果是 Mac 系统,建议先安装好 Xcode 开发工具。

    访问 http://cn.cocos2d-x.org/ 下载安装包。

    安装过程很简单,基本上一路点“继续”或者“下一步”即可。在windows下安装你可以修改要安装的目录位置。另外,如果你以前安装过 quick 3.x 的其他版本,并且对引擎代码自己做过修改,请预先备份自己的工作,避免被新版本覆盖。

快速开始

quick-cocos2d-x 中带有一个名为 player 的工具。

这个工具不但是一个功能完善的模拟器,可以在 Mac/Windows 桌面运行开发者的游戏,还是一个功能齐备的开发工具入口。

开发者启动 player 后,将可以完成下列任务:

  • 创建项目
  • 打开项目
  • 编译项目
  • 查看示例

未来,我们还将增加更多功能。

现在就下载安装 quick,然后启动 player3.app 或 player3.exe 查看 quick 中那些精彩的示例程序吧。

使用指南

参考手册

v3quick's People

Contributors

2youyou2 avatar angeltown avatar boyu0 avatar carlomorgantinizynga avatar chengstory avatar chuanweizhang2013 avatar cocoscodeide avatar cocosrobot avatar dabingnn avatar darkdukey avatar dualface avatar folecr avatar hugohuang1111 avatar j4m3z0r avatar jiusheng avatar lmskater avatar minggo avatar nutty898 avatar pandamicro avatar ricardoquesada avatar rohankuruvilla avatar rolandoam avatar samuele3hu avatar samuele3hu2022 avatar stammen avatar sunlightjuly avatar super626 avatar wenhailin avatar yangws avatar zilongshanren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

v3quick's Issues

开发新 Welcome app

新 Welcome app 基于新的 player 架构。

功能要求:

  • 创建新项目
  • 运行项目
  • 删除项目
  • 导出项目
  • 查看 quick 自带示例
  • 查看 Welcome app 使用帮助

设计图参考:

welcome3

freetype优化

裁剪freetype,只支持必须的格式(应该只有truetype),以减少so文件体积

ccsloader 中 UILoadingBar 如果是Scale9Sprite 有bug

问题1:UILoadingBar.lua 中第17行调用有歧义需修改如下 self.bar = cc.Scale9Sprite:createWithInsets(
params.capInsets, params.image)
问题2:61行如果是Scale9Sprite 调用setFlipX 异常 因为CCScale9Sprite中没有setFlipX方法.
问题3:同问题2一样:generateUINode中也有setFlipX 函数调用
问题4:调用setPercent(50)后显示效果不正确。

编写 3.2 升级文档

TODO:

  • 以 Homeland2_Map_Editor 为示例项目,将其从 v2 升级到 3.2beta1
  • 编写详细的升级说明

新项目模板应该默认支持 Code IDE 工程格式

新建的项目应该包含 Code IDE 需要的下列文件:

  • .project
  • .cocos-project.json
  • .build_path
  • config.json

目录结构调整为:

  • proj.android
  • proj.android_no_anysdk
  • proj.ios
  • proj.wp8
  • res // 资源目录
  • src // 脚本目录
  • native // 原生代码目录

调用cc.LuaLoadChunksFromZIP("lib/framework_precompiled.zip")时crash

AppDelegate.cpp 中调用// load framework 逻辑注释掉,
直接在脚本中加载framework(做完热更新后),游戏就crash。
PS:如果AppDelegate.cpp 中调用了load framework,在脚本中调用cc.LuaLoadChunksFromZIP("lib/framework_precompiled.zip")游戏正常启动。

UI 组件管理系统

主要目标:

  • 维护层次化的 UI 组件结构
  • 所有 UI 组件的事件(包括触摸)传递都交由 UI 组件管理系统分发
  • 在屏幕分辨率发生变化以后,使用自动布局调整所有 UI 组件的位置和尺寸

子任务:

  • 实现 UIWidgetsManager,管理所有的 UI Widget 继承类,并提供事件的分发功能
  • 实现 UIWidget,作为所有 UI 组件的基础类
  • 将 UIWidget 的触摸事件转交给 UIWidgetsManager 处理
  • 完善 UILayout,提供稳定的自动布局能力

增加动态分辨率 sample

演示下列功能:

  • 分辨率改变后,框架重新计算 display 的 width, height 等变量
  • UI 自动调整布局

mac player cmd+R 崩溃

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
[90002] stack overflow

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff8919d866 __pthread_kill + 10
1   libsystem_pthread.dylib         0x00007fff8de8535c pthread_kill + 92
2   libsystem_c.dylib               0x00007fff8e400bba __abort + 145
3   libsystem_c.dylib               0x00007fff8e40146d __stack_chk_fail + 196
4   org.cocos.quick.player3         0x000000010383fc00 cocos2d::Director::showStats() + 722 (CCDirector.cpp:1111)
5   org.cocos.quick.player3         0x000000010383f60c cocos2d::Director::drawScene() + 292 (CCDirector.cpp:309)
6   org.cocos.quick.player3         0x0000000103841a05 cocos2d::DisplayLinkDirector::mainLoop() + 55 (CCDirector.cpp:1275)
7   org.cocos.quick.player3         0x0000000103851775 cocos2d::Application::run() + 149 (CCApplication.mm:87)
8   org.cocos.quick.player3         0x00000001037f3ec9 -[AppController startup] + 2121 (AppController.mm:348)
9   org.cocos.quick.player3         0x00000001037f0444 -[AppController applicationDidFinishLaunching:] + 820 (AppController.mm:64)
10  com.apple.CoreFoundation        0x00007fff93a92e0c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
11  com.apple.CoreFoundation        0x00007fff9398682d _CFXNotificationPost + 2893

实现 CCHTTPRequest Java 版

CCHTTPRequest Java 版使用 Android 系统自带的 HTTP 功能,封装出和 CCHTTPRequest 一致的接口。

这样开发者在不修改代码的情况下就可以在 so 中去除对 CURL 的依赖,大概会减少接近 1M so 体积。

发布 v3.2beta3

测试:

  • 所有 sample 可以编译并运行
  • 新建项目所有工程可以编译并运行
  • 支持 Code IDE 调试(脚本和 C++ VS/XCode 联调)
  • HTTPRequest Java 版测试
  • 新 Welcome app 测试
  • 动态分辨率切换 sample

在Scale9Sprite上添加子节点的ZOrder必须大于2

查看了Scale9Sprite源码,在Scale9Sprite的updateWithBatchNode 函数中把9个小图片都加到Scale9Sprite的自身节点上了,并且设置ZOrder,
于v2.2.5做了下对比v2.2.5 是把9个小图片加在了Scale9Sprite的子节点_scale9Image 上的。
不知道V3 中 这个做法的原因是什么.

vs2012 player编译错误

2>glfw3.lib(win32_time.obj) : error LNK2019: 无法解析的外部符号 __dtoul3,该符号在函数 __glfwPlatformSetTime 中被引用
2>glfw3.lib(win32_time.obj) : error LNK2019: 无法解析的外部符号 __ultod3,该符号在函数 __glfwInitTimer 中被引用

动态分辨率框架支持和自动布局

新的 player 能够创建允许动态调整尺寸的窗体。因此在窗体尺寸发生变化后,框架应该能够得到通知,并且自动调整屏幕上的 UI 组件,以适应改变后的窗口分辨率。

创建 3.2 宣传网页

TODO:

  • 用图形和数据列出 3.2 和 v2/原版cocos 的区别及改进
  • 适应桌面浏览器和移动浏览器
  • 现有功能总结
  • 后续功能展望

实现 proj.android 模块化编译

在 build_native 脚本中通过不同的预定义宏组合来实现模块化编译。

可选模块包括:

  • curl: 影响 CCHTTPRequest
  • chipmunk: 影响 PhysicsWorld
  • freetype: 影响 Label
  • webp/tga/tiff
  • sqlite: 影响 lsqlite
  • websockets
  • json: 影响 CCSLoader

改进 DrawNode

DrawNode 存在一些限制:

  • 绘制的形状和多边形不能修改
  • 多边形总是闭合的

改进方案:

  • 在创建形状时返回一个 int 作为形状 id
  • 通过形状 id 来删除形状

改进后,虽然不能直接对已经创建的形状做修改,但由于可以删除指定形状,所以可以用“删除->添加”的方式实现修改功能。

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.