首页 > 代码库 > cocos2dx 3.3 + QT5.3制作游戏编辑器

cocos2dx 3.3 + QT5.3制作游戏编辑器

主要参考:http://blog.csdn.net/greatchina01/article/details/39579185

 

准备

1. qt-opensource-windows-x86-msvc2013_opengl-5.3.2.exe

2. qt-vs-addin-1.2.3-opensource.exe

3. vs2013

 

配置环境变量

1. 添加QTDIR为QT的安装路径,如:D:\Qt\Qt5.3.2\5.3\msvc2013_opengl

2. 添加PATH,%QTDIR%\bin

 

建立工程

(事先用cocos2dx创建一个HelloWorld工程)

1. 打开VS2013,新建QtApplication工程。

2. 拷贝Classes, cocos2d, Resources三个目录到QT工程的根目录下(.vcxproj文件所在目录)

3. 右键点击解决方案添加工程libbox2d, libcocos2d, libSpine。

 

配置工程属性

基本就是照抄HelloWorld的工程属性:

1. 添加属性宏

视图->其他窗口->属性管理器->点击工程添加新属性表(名字随意)

点击新建的属性表,在用户宏中添加宏:

名称: EngineRoot

值: $(ProjectDir)cocos2d\

2. 通用属性/引用

添加新引用,勾选libbox2d, libcocos2d, libSpine三个工程。

3. 常规

输出目录: $(SolutionDir)$(Configuration).win32\

中间目录: $(Configuration).win32\

4. 调试

工作目录: $(ProjectDir)Resources

5. C/C++/常规

附加包含目录:

添加

$(EngineRoot)cocos\audio\include
$(EngineRoot)external
$(EngineRoot)external\chipmunk\include\chipmunk
$(EngineRoot)extensions
$(ProjectDir)Classes
$(ProjectDir)
$(EngineRoot)cocos\editor-support
$(EngineRoot)cocos
$(EngineRoot)cocos\platform
$(EngineRoot)cocos\platform\desktop
$(EngineRoot)external\glfw3\include\win32
$(EngineRoot)external\win32-specific\gles\include\OGLES

6. C/C++/预处理器

添加

_DEBUG
_WINDOWS
_USE_MATH_DEFINES
GL_GLEXT_PROTOTYPES
CC_ENABLE_CHIPMUNK_INTEGRATION=1
COCOS2D_DEBUG=1
_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
_VARIADIC_MAX=10
_USING_V110_SDK71_
_UNICODE

7. 链接器/常规

附加库目录:

添加

$(SolutionDir)$(Configuration).win32\

8. 链接器/输入

附加依赖项:

添加

opengl32.lib
glew32.lib
libzlib.lib
libpng.lib
libjpeg.lib
libtiff.lib
libwebp.lib
libiconv.lib
glfw3.lib
freetype250.lib
winmm.lib
ws2_32.lib
libchipmunk.lib
libbox2d.lib
libSpine.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib

9. 生成事件

预链接事件

if not exist "$(OutDir)" mkdir "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)"

 

修改代码

测试:在MainWindow的构造函数中启动cocos2d,看是否能编译运行通过

#include "qttest.h"#include "Classes/AppDelegate.h"QTTest::QTTest(QWidget *parent)    : QMainWindow(parent){    ui.setupUi(this);    AppDelegate app;    cocos2d::Application::getInstance()->run();}QTTest::~QTTest(){}

 

未完待续。。。

cocos2dx 3.3 + QT5.3制作游戏编辑器