版本1.19
HelloWorld工程由3个类组成,AppDelegate类是加载RootWindow实例对象的,FirstViewController 类是view 的控制器,用来交互 RootWindow 和其子view 。在win32 文件夹下是平台的入口函数,不同的平台有不用的main 类的实现,main 类中加载 AppDelegate 的对象,并调用run 方法。
一。RootWindow类
继承CAWindow类,CAWindow是CAView 的子类。
定义了create 方法:
RootWindow* RootWindow::create()
{
RootWindow* _window = new RootWindow();
_window->init();
_window->autorelease();
return _window;
}
create 方法中调用了init 方法,init 方法中定义了一个VAViewController 。
bool RootWindow::init()
{
if (!CAWindow::init())
{
return false;
}
FirstViewController* _viewController = new FirstViewController();
_viewController->init();
this->setRootViewController(_viewController);
_viewController->release();
return true;
}
由此,RootWindow 类对象只是一个应用的窗口程序,没有任何的内容,不同平台会生成不同的这样的应用窗口。
二。FirstViewController类
继承CAViewController,CAViewController继承: public CAResponder, public CAViewDelegate, public CAKeypadDelegate类
主要实现了两个方法:
void FirstViewController::viewDidLoad()
{
// Do any additional setup after loading the view from its nib.
}
void FirstViewController::viewDidUnload()
{
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
viewDidLoad方法中可以增加我们自己的代码。
注意:
1.viewDidLoad 和 viewDidUnload 方法不能 更改名字。
2.类 FirstViewController 是可以修改的。
我们在 viewDidLoad函数中增加:
auto calable = CALabel::createWithFrame(CCRect(100, 100, 200, 40));
calable->setText("HelloWorld!");
calable->setColor(CAColor_black);
this->getView()->addSubview(calable);
运行: