cocos2d-x游戏开发系列教程-超级玛丽03-main函数

代码下载链接

http://download.csdn.net/detail/yincheng01/6864893

解压密码:c.itcast.cn


main函数内容

#include "main.h"
#include "AppDelegate.h"
#include "CCEGLView.h"

USING_NS_CC;

int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

    // create the application instance
    AppDelegate app;
    CCEGLView* eglView = CCEGLView::sharedOpenGLView();
    eglView->setViewName("CrazyMario");
    eglView->setFrameSize(480, 320);
    return CCApplication::sharedApplication()->run();
}

本文以win32的main函数为模板,该部分代码是win32平台特有,不可移植。

_tWinMain是win32程序的主函数,四个参数与cocos2dx关系不大,忽略。


1)定义app对象 AppDelegate app; 

AppDelegate是CCApplication的子类,定义的app对象的地址,最后将被保存到CCApplication的静态变量中

可以使用静态函数CCApplication::shareApplication()获取该app的指针。
CCApplication详细信息参见这里


2)创建窗口 CCEGLView* eglView = CCEGLView::sharedOpenGLView();

这句代码创建窗口,代码运行到这里只是创建了一个窗口罢了

eglView->setViewName("CrazyMario");是设置窗口的名字

eglView->setFrameSize(480, 320);是设置窗口的大小。对于不同的设备分辨率不同,窗口大小也不同,会导致很多问题,解决方法见这里

对于CCEGLView类的学习参见这里


3)运行程序CCApplication::shareApplication()->run();进入程序循环

这个代码要注意以下几点:

a.CCApplication::sharedApplication()返回的指针,就是app的地址,因为app是单例,所以一旦定义了一个对象,就不会再建立其他对象。

b.进入消息处理死循环之前,会先调用applicationDidFinishLaunching虚函数,该虚函数在AppDelegate中进行了重载,所以在进入消息处理之前,AppDelegate的applicationDidFinishLaunching函数会先被调用


applicationDidFinishLaunching函数将在下一篇博文中详细描述。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值