首先
main.cpp
首先建立一个OpenGL视图窗口
CCEGLView* Director = CCEGLView::sharedOpenGLView();
return CCApplication::sharedApplication()->run();
run()方法中有
if (!applicationDidFinishLaunching()) { return 0; }
调用<span style="font-family: Arial, Helvetica, sans-serif;">applicationDidFinishLaunching()函数,工程中有一个AppDelegate.h文件,这个文件继承了</span><pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">CCApplication ---> </span><span style="font-family: Arial, Helvetica, sans-serif;">CCApplicationProtocol中的虚函数方法</span>
<span style="font-family: Arial, Helvetica, sans-serif;">virtual bool applicationDidFinishLaunching() = 0; </span>
AppDelegate.cppbool AppDelegate::applicationDidFinishLaunching()
}
RootWindow.cpp
RootWindow继承CAWindow 主要的作用是作为所有view的载体、容器,分发触摸消息,协同viewController完成对应用程序的管理。应用程序通常只有一个window
RootWindow* RootWindow::create()
{
RootWindow* _window = new RootWindow(); //创建了一个主view
_window->init();
_window->autorelease(); //使用堆定义的要使用自动释放这个函数
return _window;
}
_window->init();
init是继承CAWindow虚函数方法,具体实现
bool RootWindow::init()
{
if (!CAWindow::init()){
return false;
}
FirstViewController继承 CAViewController作为CAView的管理器,其最基本的功能就是控制视图的切换。管理与之关联的view
FirstViewController* _viewController = new FirstViewController(); //创建一个管理view的实例
_viewController->init();
this->setRootViewController(_viewController); //把window绑定控制器
_viewController->release(); //因为是new的也要释放
}
FirstViewController.cpp是一个控制类,继承自CAViewController
实现3个虚函数方法,系统运行时会自动调用viewDidLoad()
FirstViewController::respondTouch()方法
FirstViewController::alertViewCallback(int btnIndex)//弹出框处理函数
备忘