原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的CrossApp之旅系列]
博客地址:http://blog.csdn.net/qq446569365
CrossApp是基于MVC模式开发的,每一个view和model都是独立的,而两者之间由controller作为桥梁连接到一起。所以在创建一个新窗口的时候需要创建两个类,一个作为view 一个作为controller。
本文中,view起名为:MainMenuWindow controller类名为:MainMenuViewController
首先,MainMenuWindow 需要两个初始化方法,一个是作为工厂方法的Create(静态),另一个则是用于初始化的init
#include <stdio.h>
#include "CrossApp.h"
#include "MainMenuViewController.h"
USING_NS_CC;
class 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 <stdio.h>
#include "CrossApp.h"
USING_NS_CC;
class MainMenuViewController:public CAViewController
{
void viewDidLoad();
void viewDidUnload();
};
在对应的CPP文件中:
#include "MainMenuViewController.h"
void MainMenuViewController::viewDidLoad()
{
//布局等代码的编写
}
void MainMenuViewController::viewDidUnload()
{
}
一个简单的窗口就轻松的实现了。