使用QT + cocos2dx制作工具
2012-11-09 19:10
302 查看
最近项目中使用到cocos2d-x,因为需要,决定做做工具
开始想法是MFC + OpenGL, 但是感觉完全脱离了cocos2dx, 工具又要用到cocos2dx的一些东西
后来看到了 /article/1667906.html
实现了 MFC + cocos2d-x, 但是MFC很久没用了,感觉真心不适应,每次写MFC,感觉都像第一次写一样
这次决定尝试下QT
QT的实现基本和上面MFC的类似, 参考QT的例子,实现一个window
用一个定时器去刷新
这里要用到qt的SIGNAL and SLOT
头文件 window.h
这里还得使用到QT安装目录bin下的moc.exe, 在命令行下 moc window.h -o moc_window.cpp
将生成的moc_window.cpp加入工程,否则会有一堆错误
关闭时要销毁, 重载 void closeEvent(QCloseEvent *);
至于鼠标时间, 重载
并修改 CEGLView_win32 添加对应处理鼠标事件的函数就OK
开始想法是MFC + OpenGL, 但是感觉完全脱离了cocos2dx, 工具又要用到cocos2dx的一些东西
后来看到了 /article/1667906.html
实现了 MFC + cocos2d-x, 但是MFC很久没用了,感觉真心不适应,每次写MFC,感觉都像第一次写一样
这次决定尝试下QT
QT的实现基本和上面MFC的类似, 参考QT的例子,实现一个window
void Window::initcocos2d() { cocos2dApp = new AppDelegate; HWND hWnd = (HWND)this->winId(); // 关键, QWidget 与 HWND 的转换 CCApplication::sharedApplication().run(hWnd, TEXT("Hello"), 480, 320); }
用一个定时器去刷新
void Window::renderCocos2dx(void) { CCApplication::sharedApplication().renderWorld(); } Window::Window(QWidget *parent) :QWidget(parent) { QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(renderCocos2dx(void))); timer->start(20); setWindowTitle(tr("Hello GL")); }
这里要用到qt的SIGNAL and SLOT
头文件 window.h
// window.h class Window : public QWidget { Q_OBJECT // 如果使用自定义 slots, 这个必须定义 private slots: void renderCocos2dx(void);
这里还得使用到QT安装目录bin下的moc.exe, 在命令行下 moc window.h -o moc_window.cpp
将生成的moc_window.cpp加入工程,否则会有一堆错误
关闭时要销毁, 重载 void closeEvent(QCloseEvent *);
void Window::closeEvent(QCloseEvent *event) { cocos2d::CCDirector::sharedDirector()->end(); cocos2d::CCDirector::sharedDirector()->mainLoop(); QWidget::closeEvent(event); }
至于鼠标时间, 重载
/*virtual*/ void mousePressEvent(QMouseEvent *); /*virtual*/ void mouseReleaseEvent(QMouseEvent *); /*virtual*/ void mouseDoubleClickEvent(QMouseEvent *);
并修改 CEGLView_win32 添加对应处理鼠标事件的函数就OK
相关文章推荐
- 使用Setup Factory安装包制作工具制作安装包
- Android 联网监控抓包工具的制作(tcpdump的使用)
- 安装包制作工具 SetupFactory使用1 详解
- 4.13 使用扇贝工具制作猥琐的老鼠 [Illustrator CC教程]
- 使用Java8提供的Duration类制作字幕时间轴调整工具
- 使用SfntTool制作字体剪辑工具3 - 使用jd-gui反编译.class文件
- OK6410制作SD卡启动(一) 使用开源工具
- 使用UNetbootin工具制作的CentOS 6.9镜像U盘在启动安装过程中出现:unable to read package metadata.this may be due to a missing repodata directory
- 使用exe4j工具制作简单的java应用程序
- 使用UltraISO为U盘或内存卡制作系统安装工具
- 安装包制作工具 SetupFactory使用1 详解
- 使用MCT6.0工具和fontconver制作MTK字库文件
- 安装包制作工具 SetupFactory使用2 API清单
- 使用VS 自带的打包工具,制作winform安装项目
- Ramdisk的制作,以及genext2fs和mkiamge的工具使用
- 使用Android SDK自带工具draw9patch制作简单的.9.png图片
- 使用unity Timeline工具制作“子弹时间”效果
- wordpress主题制作探索之—使用小工具
- 如何制作SDTM Annotated CRF - 3. 工具使用
- 报表制作工具中Cnmoney()函数使用