软件平台 Visual Studio 2012 , Cocos2d-x 3.2
步骤
1. 首先用VS2012创建 MFC 对话框应用程序。(选项默认即可)
2. 在命令行 创建一个Cocos2dx 项目
3.把Cocos2dx 项目中的 cocos2d , Classes, Resources 三个目录复制到第一步所创建MFC项目.vcxproj 文件所在目录下
4.打开MFC项目的 属性管理器 (可以在 工具栏->视图->属性管理器 打开),在Debug|Win32 下 新建属性表 Cocos2dheader
5. 右键Cocos2dheader 属性 ,打开属性页,单击用户宏,添加一条宏:EngineRoot 如下所示:
6.项目->属性 打开MFC项目的属性页, 然后选择 C/C++ -> 常规 附加包含目录, 添加Cocos2d 头文件目录 如下图所示:
$(EngineRoot)cocos\audio\include
$(EngineRoot)external
$(EngineRoot)external\chipmunk\include\chipmunk
$(EngineRoot)extensions
$(ProjectDir)Classes (图中不符,以这个为准)
$(EngineRoot)cocos
$(EngineRoot)cocos\platform\win32
$(EngineRoot)cocos\platform\desktop
$(EngineRoot)external\glfw3\include\win32
$(EngineRoot)external\win32-specific\gles\include\OGLES
7. 打开 连接器 输入 附加依赖项 ,添加如下库文件:
libAudio.lib
libchipmunk.lib
libcocos2d.lib
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
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
8. 打开 连接器 输入 忽略特定默认库 ,忽略如下库文件:
libc.lib
libcmt.lib
msvcrt.lib
libcd.lib
libcmtd.lib
9. 打开 连接器 常规 附加库目录 添加:
$(SolutionDir)$(Configuration).win32\
10.在MFC项目 解决方案上 右键 添加 添加现有项目, 分别添加下面3个项目( 在上面所复制的cocos2d 目录下)
cocos2d\cocos\2d\cocos2d.vcxproj
cocos2d\external\chipmunk\proj.win32\chipmunk.vcxproj
cocos2d\cocos\audio\proj.win32\CocosDenshion.vcxproj
11. 再解决方案 上 右键 属性 打开属性页,勾选这三个项目,给MFC项目设置依赖项:
12. 在解决方案中 分别右键MFC项目 属性 配置属性 常规 设置如下:
13. 接上一步骤 C/C++ 预处理器 预处理器定义 添加 _CRT_SECURE_NO_WARNINGS
C/C++ 预编译头 不使用预编译头
配置属性 调试 工作目录 更改为:$(ProjectDir)Resources
14. 解决方案管理器 中 右键 项目名 添加 现有项 ,找到所复制的Classes 目录 ,把AppDelegate 和 HelloWorldScene 两个类添加进去
修改 HelloWorldScene.cpp 这一行
auto label = Label::createWithSystemFont("Hello World", "Arial", 24);
15. 在MFC项目的 stdafx.h文件中 添加
#undef OS_WINDOWS
下面测试配置是否正确,如果运行错误,请检查以上步骤
16. 给MFC窗口添加 一个按钮,并添加处理鼠标单击消息处理
对话框CPP中添加头文件
#include "AppDelegate.h"
#include "cocos2d.h"
在按钮的消息处理函数里添加:
void CCocosEditorDlg::OnBnClickedButton1()
{
AppDelegate app;
cocos2d::Application::getInstance()->run();
}
运行, 单击按钮 cocos2d窗口出现则配置成功
Test下载:点击打开链接
下一篇,让cocos2d窗口运行在MFC控件中