步驟
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)cocosaudioinclude
$(EngineRoot)external
$(EngineRoot)externalchipmunkincludechipmunk
$(EngineRoot)extensions
$(ProjectDir)Classes (圖中不符,以這個為準)
$(EngineRoot)cocos
$(EngineRoot)cocosplatformwin32
$(EngineRoot)cocosplatformdesktop
$(EngineRoot)externalglfw3includewin32
$(EngineRoot)externalwin32-specificglesincludeOGLES
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 目錄下)
cocos2dcocos2dcocos2d.vcxproj
cocos2dexternalchipmunkproj.win32chipmunk.vcxproj
cocos2dcocosaudioproj.win32CocosDenshion.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窗口出現則配置成功
下一篇,讓cocos2d窗口運行在MFC控件中