crossApp初级-HelloWorld-3

版本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);

 运行:



你可能感兴趣的:(crossApp初级-HelloWorld-3)