问题描述
CrossApp如何创建一个新的window(窗口) CrossApp是基于MVC模式开发的,每一个view和model都是**的,而两者之间由controller作为桥梁连接到一起。所以在创建一个新窗口的时候需要创建两个类,一个作为view 一个作为controller。 本文中,view起名为:MainMenuWindow controller类名为:MainMenuViewController 首先,MainMenuWindow 需要两个初始化方法,一个是作为工厂方法的Create(静态),另一个则是用于初始化的init#include #include "CrossApp.h" #include "MainMenuViewController.h" USING_NS_CC; cl** MainMenuWindow : public CAWindow { public: static MainMenuWindow * create(); virtual bool init(); }; 在对应的CPP文件中,编写如下代码:#include "MainMenuWindow.h" MainMenuWindow * MainMenuWindow::create() { MainMenuWindow* _window = new MainMenuWindow(); _window->init();//调用初始化方法 _window->autorelease();//设置为自动释放 return _window; } bool MainMenuWindow::init() { if (!CAWindow::init()) { return false; } MainMenuViewController* _viewController = new MainMenuViewController(); _viewController->init(); this->setRootViewController(_viewController); _viewController->release(); return true; } 然后在这个window所对应的controller类中:#include #include "CrossApp.h" USING_NS_CC; cl** MainMenuViewController:public CAViewController { void viewDidLoad(); void viewDidUnload(); }; 在对应的CPP文件中:#include "MainMenuViewController.h" void MainMenuViewController::viewDidLoad() { //布局等代码的编写 } void MainMenuViewController::viewDidUnload() { } 一个简单的窗口就轻松的实现了。