1,窗口嵌入的问题,可以自定义一个wxEGLView并导出,这个view就是cocos2d-x使用的view,然后遍历整个已经建好的wxPython的窗口句柄,找到根句柄直接SetParent(),窗口就嵌入了。
2,游戏窗口渲染的问题,由于上一步的view已经加入窗口树,并且设置了消息处理函数,所以点击事件可以正常处理。如果要处理渲染,可以定义一个wxAppDelegate继承wx::wxApp,重载ProcessIdle()。可以这样写
bool wxAppDelegate::ProcessIdle()
{
run();
wxApp::ProcessIdle();
return true;
}
其中run函数照搬AppDelegate的,主要调用了Director::mainLoop()
导出这个类,脚本也实现继承这个类。
如果需要做一些初始化的操作。可以在这个类里面继承wxApp::OnInit(),并执行脚本的的OnInit函数,这样c++层和脚本层都可以做自己的初始化工作。
3,脚本定义Application(wxAppDelegate):.....,并写一句代码app=Application(),整个框架就搭建起来了。
2,游戏窗口渲染的问题,由于上一步的view已经加入窗口树,并且设置了消息处理函数,所以点击事件可以正常处理。如果要处理渲染,可以定义一个wxAppDelegate继承wx::wxApp,重载ProcessIdle()。可以这样写
bool wxAppDelegate::ProcessIdle()
{
run();
wxApp::ProcessIdle();
return true;
}
其中run函数照搬AppDelegate的,主要调用了Director::mainLoop()
导出这个类,脚本也实现继承这个类。
如果需要做一些初始化的操作。可以在这个类里面继承wxApp::OnInit(),并执行脚本的的OnInit函数,这样c++层和脚本层都可以做自己的初始化工作。
3,脚本定义Application(wxAppDelegate):.....,并写一句代码app=Application(),整个框架就搭建起来了。
本文详细介绍了如何将cocos2d-x游戏引擎与wxPython框架集成,通过自定义EGLView并导出,实现游戏窗口嵌入到wxPython窗口中。同时,阐述了游戏窗口渲染及事件处理的实现方式,以及如何在c++层和脚本层进行初始化操作。最后,展示了整个框架搭建过程,包括继承wxAppDelegate类,定义Application类等关键步骤。
2806

被折叠的 条评论
为什么被折叠?



