# QCEditor **Repository Path**: wen-fan/QCEditor ## Basic Information - **Project Name**: QCEditor - **Description**: cocos2d-x 编辑器。(cocos2d-x 3.17.2 在 Qt 5.12窗体中渲染。) - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 44 - **Created**: 2024-09-28 - **Last Updated**: 2024-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![preview][] [该项目被列为oschina "2015 年度新增开源软件排名 TOP100"](https://www.oschina.net/news/69808/2015-annual-ranking-top-100-new-open-source-software) #QCEditor **QCEditor**是一个简单的cocos2d-x UI编辑器(DEMO),基于cocos2d-x 3.17.2。 Qt和Cocos-x 都能跨平台,理论上该编辑器是能够跨平台的。名字是 Qt 和 Cocos2d-x 的首字母缩写。 **QCEditor**的渲染使用的是cocos2d-x本身的渲染,所见即所得,在编辑器里面添加的控件代码,不用再到项目里面实现一次,只需要拷贝过去就能用。添加新控件只需注册属性就好,无需再添加新解析代码。(目前解析部分能支持大部分常用类型解析)。 ## Build/编译 windows: * VS2019 + Qt 5.12.1 * mkdir vs * cd vs * cmake.exe .. -DCMAKE_PREFIX_PATH=C:\Qt\5.15.1\msvc2019 -G"Visual Studio 16 2019" -A Win32 * cmake.exe --build . mac: * Xcode + Qt 5.12.1 * mkdir xcode * cd xcode * cmake .. -G"Xcode" -DCMAKE_PREFIX_PATH=/Users/mac/Qt/5.15.1/clang_64 * cmake.exe --build . ## 功能添加 添加新的属性和控件非常方便,只需要按照下面格式添加,将会自动与Node绑定,并且自动添加到存储功能中。通过这种方式,能够编辑cocos2d-x里所有可视化组件,甚至其他一些组件。 ```C++ StartGroup(Node, defaultNodeCtor); ATTR("Local Z Order", &Node::getLocalZOrder, &Node::setLocalZOrder, int, 0); ATTR("Global Z Order", &Node::getGlobalZOrder, &Node::setGlobalZOrder, float, 0.0f); ATTR("Visible", &Node::isVisible, &Node::setVisible, bool, true); ATTRSTEP("Scale X", &Node::getScaleX, &Node::setScaleX, float, 1.0, 0.1); ATTRSTEP("Scale Y", &Node::getScaleY, &Node::setScaleY, float, 1.0, 0.1); ATTR("Rotation", &Node::getRotation, &Node::setRotation, float, 0); ATTR("Position", &Node::getPosition, &Node::setPosition, Vec2, Vec2(0, 0)); ATTR("Tag", &Node::getTag, &Node::setTag, int, 0); ATTRMixed("Name", &Node::getName, &Node::setName, std::string, std::string()); ATTRMMS("Anchor Pos", &Node::getAnchorPoint, &Node::setAnchorPoint, Vec2, Vec2(0, 0), Vec2(0, 0), Vec2(1, 1), Vec2(0.1, 0.1)); EndGroup(); ``` 添加LabelTTF到编辑器代码如下: ```C++ StartGroup(LabelTTF, DefaultValue::defaultLabelTTF); Require(Node); ATTR_NO_DEFAULT("Font File", &LabelTTF::getFontName, &LabelTTF::setFontName, string, Variant::TString); ATTR("Font Size", &LabelTTF::getFontSize, &LabelTTF::setFontSize, float, 20); ATTR("Dimensions", &LabelTTF::getDimensions, &LabelTTF::setDimensions, Size, Size(0,0)); ATTR("String", &LabelTTF::getString, &LabelTTF::setString, string, string()); EndGroup(); ``` xml文件格式如下: ```XML ``` 在编辑器里面看到的是这样: ![attr][] ## 项目地址 * oschina [http://git.oschina.net/qcdong/QCEditor](http://git.oschina.net/qcdong/QCEditor) * github [https://github.com/qcdong2016/QCEditor](https://github.com/qcdong2016/QCEditor) ## 其他 联系方式:QQ(526738316) Email(qcdong@yeah.net) ## License Licensed under the MIT license, see [LICENSE](LICENSE) for details. ### 说明 该项目提交了cocos2d-x 创建的工程中的cocos文件夹(解压约380M),仓库大小大约120M,所以拉项目的时候比较慢。但项目本身代码并不多。 [preview]: images/preview.jpg [attr]: images/attr.png