CocosQtPort
===========
Это код для портирования Cocos2d-x3.3 на QT5.3.
Он полезен для кодирования редактора игр.
Как использовать?
1. Скопируйте директорию CocoQtPort в вашу папку Classes.
2. Измените AppDelegate, чтобы он наследовал форму cocos2d::CCQApplication. Добавьте члена, например:
class AppDelegate : private cocos2d::CCQApplication { public: AppDelegate(int argc, char *argv[]) : cocos2d::CCQApplication(argc, argv) {}; virtual ~AppDelegate(); ...... protected: CCGEditor _mainWindow; // CCGEditor — это класс MainWindow, который вы создали в QT. }
3. Измените AppDelegate::applicationDidFinishLaunching(), используйте CCQGLView для создания glview. например:
bool AppDelegate::applicationDidFinishLaunching() { // инициализируем director auto director = Director::getInstance(); auto glview = CCQGLView::getInstance(); glview->setBgColor(Color4B(50, 50, 50, 255));
director->setOpenGLView(glview);
_mainWindow.setGLView(glview->getGLWidget());
_mainWindow.show();
...... }
4. Измените ваш класс QT MainWindow (здесь CCGEditor):
CCGEditor.h
class CCGEditor : public QMainWindow { Q_OBJECT
public: CCGEditor(QWidget *parent = 0); ~CCGEditor() {}
void setGLView(QWidget *glWidget);
protected: void closeEvent(QCloseEvent *);
private: Ui::CCGEditorClass ui; AppDelegate *_appDelegate; QWidget *_glWidget; };
CCGEditor.cpp
CCGEditor::CCGEditor(QWidget *parent) : QMainWindow(parent), _appDelegate(NULL), _glWidget(NULL) { ui.setupUi(this); }
void CCGEditor::closeEvent(QCloseEvent *) { cocos2d::Director::getInstance()->end(); qApp->quit(); }
void CCGEditor::setGLView(QWidget *glWidget) { _glWidget = glWidget;
if (_glWidget)
{
ui.SceneWidget->setWidget(_glWidget);
setCentralWidget(ui.SceneWidget);
}
}
5. Измените основную функцию следующим образом:
int main(int argc, char *argv[]) { AppDelegate app(argc, argv); return cocos2d::CCQApplication::getInstance()->run(); }
6. Не забудьте заголовочные файлы_(:зゝ∠)_
Смотрите мой блог для подробностей:
http://www.cnblogs.com/marisa/p/4141862.html
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )