好的,阿杰 👍
这里给你整理一份 《CocosBuilder 完全攻略》学习笔记,方便快速入门和实战。
📖 CocosBuilder 完全攻略
1. CocosBuilder 简介
- CocosBuilder 是基于 Cocos2d-x 的 UI 可视化编辑器。
- 可以用来 编辑界面、动画、场景,通过导出
.ccbi
文件供 Cocos2d-x 程序直接读取。 - 优势:
- 可视化设计,减少手写布局代码。
- 支持动画时间轴编辑。
- 支持 UI 元素和逻辑代码分离。
2. 基础使用流程
- 新建工程
- 打开 CocosBuilder,选择 File → New Project。
- 选择工程类型:
Scene
、Layer
、Node
。
- UI 编辑
- 拖拽 UI 控件(Label、Sprite、Menu、Button)。
- 设置属性:位置、锚点、缩放、透明度、Z-Order。
- 动画编辑
- 切换到时间轴面板(Timeline)。
- 关键帧(KeyFrame)控制动作:位置、透明度、缩放。
- 支持循环播放、触发回调。
- 导出资源
- File → Publish → 导出
.ccbi
文件。 - 资源(图片、字体)会打包进工程目录。
- File → Publish → 导出
3. 在 Cocos2d-x 中加载 CocosBuilder
#include "cocos2d.h"
#include "cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT;
class HelloCocosBuilder : public cocos2d::Layer
{
public:
CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(HelloCocosBuilder, create);
virtual bool init() {
return true;
}
// 绑定 CocosBuilder 控件
void onButtonClicked(cocos2d::Ref* sender) {
CCLOG("按钮被点击了!");
}
};
// 加载 CCBI 文件
Scene* createHelloScene() {
auto scene = Scene::create();
auto layer = HelloCocosBuilder::create();
// 读取 CCBI
auto nodeLoaderLibrary = NodeLoaderLibrary::newDefaultNodeLoaderLibrary();
auto ccbReader = new CCBReader(nodeLoaderLibrary);
auto node = ccbReader->readNodeGraphFromFile("HelloWorld.ccbi", layer);
scene->addChild(node);
ccbReader->release();
return scene;
}
4. CocosBuilder 与代码的绑定
- 在 CocosBuilder Inspector 中设置控件名称(比如
startButton
)。 - 在代码中通过
CCBSelectorResolver
或CCBMemberVariableAssigner
绑定。
bool onAssignCCBMemberVariable(Ref* target, const char* memberVariableName, Node* node) {
CCB_MEMBERVARIABLEASSIGNER_GLUE(this, "startButton", MenuItemImage*, this->startButton);
return false;
}
SEL_MenuHandler onResolveCCBCCMenuItemSelector(Ref* target, const char* selectorName) {
CCB_SELECTORRESOLVER_CCMENUITEM_GLUE(this, "onStartClicked", HelloCocosBuilder::onButtonClicked);
return NULL;
}
5. 常见问题
- 控件无法响应事件 → 检查
Selector
是否绑定正确。 - 资源丢失 → 确认图片路径与
publish
导出路径一致。 - 动画不播放 → 记得在代码中调用:
ccbReader->getAnimationManager()->runAnimationsForSequenceNamed("Default Timeline");
6. 学习路线建议
- 熟悉 Cocos2d-x 基础(精灵、场景、层、事件)。
- 学会在 CocosBuilder 中 设计 UI、设置动画。
- 练习 代码绑定 UI 控件。
- 尝试开发 完整小项目(菜单界面 + 游戏场景 + 动画过渡)。
👉 这样你就可以用 CocosBuilder + Cocos2d-x 快速开发跨平台游戏 UI 和动画了。
发表回复