cocos2d-x游戏开发系列教程-中国象棋02-main函数和欢迎页面

之前两个博客讲述了象棋的规格和工程文件之后,我们继续深入的从代码开始学习cocos2dx

首先从程序入口main函数开始

main函数

int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine); #ifdef USE_WIN32_CONSOLE
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
#endif // create the application instance
AppDelegate app; // 获得view
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setFrameSize(480, 320); // 运行程序
int ret = CCApplication::sharedApplication()->run(); #ifdef USE_WIN32_CONSOLE
FreeConsole();
#endif return ret;
}

以上是中国象棋的main函数的所有内容,掐掉不关注的内容,关键部位为以下代码:

// create the application instance
AppDelegate app; // 获得view
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setFrameSize(480, 320); // 运行程序
int ret = CCApplication::sharedApplication()->run();

步骤:
1.使用AppDelegate去创建app对象

2.创建视图对象比设置视图对象

3.让app运行起来

在这里可以看到app对象并没有被显式的使用,但是它必须定义,在它的构造函数里,会将app的指针

保存在全局变量,使得CCApplication::sharedApplication()能获得app指针。

怎么验证这点呢,我们可以看到AppDelegate是有CCAppplication派生,而在CCApplication的构造函数里

有如下代码:

aaarticlea/png;base64,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" alt="" />

AppDelegate

AppDelegate在这里是应用程序代理类,该类的作用是继承一些虚函数,对程序进行管理

在我们的代码里,主要是

applicationDidFinishLaunching():启动完毕时被调用

applicationDidEnterBackground():当程序进入后台时该函数被调用

applicationWillEnterForeground():当程序从后台进入前台时被调用

这三个函数我们重点看第一个吧,因为我们在windows下,后面两个函数无效,先学习第一个

看看第一个函数的内容:

bool AppDelegate::applicationDidFinishLaunching()
{
// initialize director
CCDirector *pDirector = CCDirector::sharedDirector(); // 导演类
pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // 给导演一个空间 // turn on display FPS
pDirector->setDisplayStats(false); // 显示view // create a scene. it's an autorelease object
CCScene *pScene = CCWelCome::scene(); // 创建一个WelCome场景 // 让导演去运行这个WelCome场景,该welCome场景是象棋程序里的第一个场景
// 第一个场景有什么内容呢?那我们应该去看CCWelCome::scene();
pDirector->runWithScene(pScene);
return true;
}

在这个函数里,创建了一个导演对象pDirector,然后给导演一个空间pDirecotor->setOpenGLView(...);

而这个view明显就是在main函数里创建的那个view,这个view是一个物理上的窗口,控制着整个程序的显示位置。

接下来CCWelCome::scene创建了一个场景,场景和view是什么关系呢?就好像马戏团表演节目,可以在北京表演可以在上海表演

无论你在哪里表演,你总得先搭台子,这个台子就是view,台子的位置决定了你在哪里表演节目。而当一个节目上演的时候

这个叫做scene,WelCome就是象棋里面的一个场景。

接着让导演pDirecotor去演示该Scene。该Sence演示的结果如下:

aaarticlea/png;base64,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f9qcdoge4kDlyzd/84C6/d6geeo99KE2vPmbBwcqX6aHiLR1eK/82O3YkCcSfDs2JH9prPGJDHicvzR2sA1DbseGvFd+LNLWYcipe8eo0Fs7Px40//jntzW1zTdudhnHuND/8fXXn3322Wd/+1vO3kL9rbcHbF6cLCIIUdy5x0uOrHZNvtvaWT2DIFyT7/YuJLy1xZ0f08tnHKFXro77njXPaeN6Vrsb501vcjfO22jNnhjv8G6cN/F4oI/VMYRr8t3iZFHvEnrhjJjV/YaLWT2jd4VzWlditbpnt70ndTfOWxR37uPWc1rXmOq+s+7ZatCj+sGhj/bxMfQO3Xt2vZNgPJlPnOMPOMLBd/hDYrSHfoc96J7/++EQhmRL+uHX3++uu/XuoHlq2w614evvd29JP0wPUVRleOWtTxvb/jBonjrEUBu+8tanRVUGeohIW4cPak+3rZtzb93ce+vmtq2f07auL8ZDxC6LL1i1csCStt5N1s9pWz+nbd1cesMPak9H2joMNXXrf2tU6OdffTBo/v7lN9/951/fffd///7XP777z7ffffef7777v//v//3z22/++c0///nVV19+/sXnX3zx+VdffpGzt7D+9ruD7OTo6r5rzJjax8trZ/YtXa3pXblJ6zZw4eBramL679N4FIIgCNHmpgGjizYnrya8tafpbb21p199cP7Vts3eRkd1dDVBEDOPPuh3kL2/bdK69RxA7cze/b/attm75/HpZNHA4xzqqH5gNDGEW3Ib/dhoFKNDfWLeBj3HH3CEg/xBPGPaNvf/t8XMo/TevnfPP344hFGJTz/yxh8/O3f/w0GjPFDxPffQlQcqhtrwjT9+Fp9+hB7iYPW1e293t3R+PGjURd/3OnR1UeVQG957u/tg9TV6iEhbhz+erXp1x/JXd6x4nOWPf1x+YP363h0eWL/+1R0rnliy3GiT5a9u79nPH89WRdo6DDV1q40L/cIv/jRotLkFg35yy779BwsOHMk1WnLoNNV49/dD7QdBEOSp2Zp59O1Pvnjuu337ky+2Zh6lHx+uvdH+u79d+tWj55v23/3tcO0NeohIW4cHl86+nrb5OWUL/eDBpbORtg5DneOyt77sK/SLv3w4aFo6Pmq8+96z5Oy99y+89mCo/SAIgjw12xTH3n341dXf/Pn55t2HX21THKOHOKq72fn+35/7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" alt="" />

同学们一定好奇,这个欢迎页面怎么出来的,那我们继续看WelCome.cpp

CCWelCome

先看头文件的类定义:

class CCWelCome : public CCLayer
{
public:
static CCScene* scene();
virtual bool init();
void step(float dt);
CREATE_FUNC(CCWelCome);
};

从类定义可以看出CCWelCome是一个CCLayer,它有四个函数

scene函数:该函数为CWelCome创建了一个scene并创建一个CWelCome放入到该sence中

init函数:该函数被自动调用,CWelCome中的元素,都是在init时候被创建的

step函数:该函数在init时设置被计划调用,也就是当init被调用后一段时间,step被调用了

CREATE_FUNC:其实是定义了一个create函数

scene函数:

CCScene* CCWelCome::scene()
{
// 创建一个新的scene
CCScene* pScene = CCScene::create();
if(!pScene)
{
return NULL;
} // 创建一个新CLayer
CCWelCome* pLayer = CCWelCome::create();
if(!pLayer)
{
return NULL;
} // 把Layer加入到Scene,返回Scene,所以scene函数时创建了一个Layer但是返回包容了该Layer的一个Scene
pScene->addChild(pLayer);
return pScene;
}

注释在代码中,同学可以好好看。这里注意为什么要返回Scene,为什么不直接返回Layer,是因为导演只能导Scene。

那么WelCome作为一个Layer,只好将其加入到一个Scene之后再返回。

init函数:

bool CCWelCome::init()
{
// 调用父类的init函数进行初始化
if (!CCLayer::init())
{
// 如果调用父类的初始化就失败,则返回false
return false;
} // 获得窗口大小,这里CCDirector::sharedDirector获取的导演是外面创建的那个
// 精灵需要用到这个位置信息
CCSize s = CCDirector::sharedDirector()->getWinSize(); // 创建两个精灵,第一个是黑色的老将,第二个是红帅,都通过addChild把精灵加入到了本Layer
// 两个精灵的位置是由上述窗口Size计算得到,图片bkg1.png和bkg2.png是两个老将的图片,如果
// 在你的环境中不显示,那就要看看RES_PATH的路径是否正确了
CCSprite* pBlackSprite = CCSprite::create(RES_PATH"bkg1.png");
pBlackSprite->setPosition(ccp(s.width/2 - 56, s.height/2));
addChild(pBlackSprite, 1);
CCSprite* pRedSprite = CCSprite::create(RES_PATH"bkg2.png");
pRedSprite->setPosition(ccp(s.width/2 + 56, s.height/2));
addChild(pRedSprite, 2); // 最后精灵放置好之后,调用定时器函数,在一秒之后调用step函数
schedule(schedule_selector(CCWelCome::step), 1.0f);
return true;
}

在WelCome层中,我们为该Layer创建了两个精灵后,启动定时器,1秒之后调用step函数,使得窗口

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAAFmCAIAAAAd8V/vAAAgAElEQVR4nO3dd1wUd+I//pldYAtVRUXFRu+wDdhderE3xN4VxU6RurANEEGxxoIgHXYWUIo9a42KQHJ3uSPJJblccrkknua4u1zaXXKf790vvz8GYUGIJmdOmLyej9cjj2WYmffM2zxejrON+M6IGAAARgh7e3s7OzvjDid6qzwiIsJgMHzyySffAQDAsPfvf//793/+66TIObbjxtFLiO+++04sFh85cuTBgwenL/0GQRAEGUF54/NvGt7+I93pxHfffRcREfHgwYOSS10IgiDIiMudz/5hv2T1d999R4jFYoPBUHK5C0EQBBmhaf7z13Z2doRYLP7kk09Kr7yBIAiCjNA0/vkf9vb2hFgs/uabb85cfRNBEAQZoaEefS0WiwmxWPzdd9+Vv/wWgiAIMkJT/dCo0CsMbyEIgiAjNGV/Mir0ymtvIwiCICM0xQ/+0Vfo1dffQRAEebE51ti2S1uyNrHw+WaXtuRYYxs9RMnF1wsqXtacan2+Kah4ueTi6/QQVdSNtcHzI20dnm/WBs+vom4MNXUvffz10ws9Z2/hM+alytaqa7994f9DIAgycrMl/ajh3m8+/PTL5xvDvd9sST9KD7G39FLLnbfuvvnw+ablzlt7Sy/RQyx0kVwrPfP1m798vrlWemahi2SoqetX6DU33h00Ha/+YtC8+tovX/vlr179xa86X/slvSRnb+GZS78eaj8IgiBPzfqk/R9++uW9tx4933z46Zfrk/bTQ+QWX7j31qPLr330fHPvrUe5xRfoISJtHb7qeu3PDWXPN191vRZp6zDU1B36yKjQ6279btD881//7xmTs7ew7NLrQ+1nWKRgOeGZdehHb16b5UwI1tS+6LNAEOZmQ/KBPzz68s6bj55v/vDoyw3JB+gh8kou3nvr00uvffx8c++tT/NKLtJDRNo6fPl65yOq5FN9yaf6kk+pntBLHtEPHj/+tF9Ke7aiSvs2fPzgy9c7I20dhpq6gj8aFbru9nuD5t///veNm11L1WeX5zasLKhffUi37njNo4cP//XtN70J2lH1r2+/ydlbWH7514PtpCyCeGxe2VADPYfUZTs/HieicLAVCpcTntmHB9s2fV6/Yzu8U2C8Zs+PddnOhGBt3fccQ++ZLk9/9qN6tvNy3nn9e3fYO/TzOsJn3OEQKVw+9PkOuuf/bjiEKdnYU+gPn2/+8OjLjckH6CHySy62/fbTy7/4eNBoD1XGLosfKtpDlUNt2PbbT/NLLtJDRNo6fP6Ltoc1J/tSe/Jhbc/j4ixl7w6Ls5SDLnkyf6o5+fkv2iJtHYaaurw/GBW6/pX3B81//v3vGze7Ek5eSi69mFLZmlbXnNlwdqhCr7jSNXAP+1cQBBG5v+9Hl103hxrrv0t5pKfyCP1Yp3QhVmQ8uc7+FUTvOt/3q5vrPAmCEK7T9fw2Yx7xDId9c51nz6AZ8whiXvmzHtXTdyt08ew9gPLI3vnUKV16DvLmut4V9q8ghhzl2Y/wGXc41CgE4bki0tPoz73/b5/Y838zHMKobNxT9MGjL2+/+ej55oNHX27cU0QPkX/mctvbf778y08GTeyy+HeGFrssfqgN297+c/6Zy/QQkbYOf++886Di6IPyow/Kj37y+AGd2GXxvR+XGLss/lSGYsCST8qPfmK0/oOKo/Su/t55J9LWYaipU31gVOj1dz4YNF9+/c8bN7s0OsPCwjNzDrw0/+iRmFNFdKF/++03337zz399+01McRFd6JVX3+i/eXkUQUQdGHzPP2VurfcSrqeeWH5gJeGlOjboJpTKhejdpDyKWBk1v/fIh9jb92TwgX74fu58cGy30GX3rcz5hMvuW4+Pzfg4hesp+uBXZvaN8gxz/v1H+CN2OMiuBttq0D0/h+EQhmRTysEPHn15681HzzfvP/pqU8pBeoiCsittb//58q8eDJqnF/oQG7a9/eeCsiv0EJG2Dn9ru/nx6aKPSoo+Kin66PTBxw+KPiopOpmWEbss/j+PDXh8Mi3j45Kij0qK6P9+VFL0UclB+vHf2m5G2joMNXWK940KveHeB4Pmq6//eeNm16x9J+YeOrbw+OHFpw8srdj36OHDb7/9tvcKffuVBLrQqwxv9Nu8aCXhpTo2+J7Lo3rvwxArFYMtd0m49T1rHksQDrZ57056FxpvTtDHcyxB2LuVYgFBLChvuHdrvRcRVfT4sBeUH0sQEgvKG+590FCvcqFX7n1wrzyKEK5PWNn/OPuiWDDIwv5H9WypV7l4qY713+GxBCHhpTp279Z6r8cLi1b2HKrR6IOd4zMf4WA7/AGHfe+DfvM54H+JJ/f8HIZDGJJNKQc/ePTVrTc/fb6hC50eoqDsSts73Zd/+adB01voA262GF2hD75h2zvdBWVX6CHoQv/wZMGHJwo+PFnwx5MFH57se/DHEwUnUtNil8X/X3+xy+JPpKb1rHaib6sPH29FF/pQU5fy+6/6Cv1s24eD5qt/fHPjZtf8I0cXnTwYW7p/edXeVTrto4cP/+9f3xrfdaELvebaW/02P7iS8FIfH2S3ldEE4ZLwSt9qxMqsJ5d/z5r1apeeTQZJ1oLeTSqjCSL6YN/y3uPpWcfoCI8nCIkFlfSvog9+eLZe7UL/6uBKernRoJXRBGG0ULih/sPHjwnCaMQhjuoZ88oGr55d9d/2lQ1ePX+TZfU/8gEDPXmOz3iEQ+3wxx28cQbd8/MYDmFI4lIPdf72wenzvxw0KTknv+cGd0rOyaE27Pztg7jUQ/QQheVXr7/+Se2NdwaNcXd//8IBuf76J4XlV+khIm0dfld6+OVIr+9J7vy5scvi//xY7LL43Plzv3+T35UejrR1GGrqEt4zKvRz9/84aOhCjykuWlpWsKImbw2l3nBW8ejhw399888nC732+m/7bX5oFeGlPv7kbgcuv7PRi4g+NNj6Q615vzKaIAhCuLFh4M6zFxDEgsrBN+/34xN7aFC7eqmP37+z0Yte2PMgewHhmninZwViVXbPtr0b9q7f/xj6n0i/o+oX+jAGOZfjicLeTfqOwXjoBrUr/fjQKuOd91956Fn6niMccodPP+wn/qSe+KN/cs9PHw75uSQu9dCrbz8ovfCrQWN8r/lJscvih9rw1bcfxKUeoocoLL9649cP6m6+O2ieeoU+1IY3Xv+ksPwqPQRd6Ndni67NEV2f0/Pf63NE1+eIr88WX58jyotZELss/uP+YpfF58UsuD5bfH226Nps0bXZoutzxNfniK/PFtGhC32oqdv+O6NCb+74aNDQhb6sMn9VXc7aeuXGpszN51MfPXz4i8e+/eabL774/PO/f5azt1B38+3+m1fNIESbGp/Y7eFVhLfmZN+SO5u8RZsan1w+9Jp9PxKE0RDKRQSxqGrIzfv9WDWD6Ldtc0fVDGKVslHj+ngd5SJixmGjERs1rsQq5cDzGnBIg5z4wKN6ptCn1t+iqgFnpFxEuCbd6b/wziZvYsbhoc7x2Y5wyB3+sOMfZKtB9/wchkMYks1ph157509ll389aGKXxb8/tNhl8UNt+No7f9qcdoge4kDlyzd/84C6/d6geeo99KE2vPmbBwcqX6aHiLR1eK/82O3YkCcSfDs2JH9prPGJDHicvzR2sA1DbseGvFd+LNLWYcipe8eo0Fs7Px40//jntzW1zTdudhnHuND/8fXXn3322Wd/+1vO3kL9rbcHbF6cLCIIUdy5x0uOrHZNvtvaWT2DIFyT7/YuJLy1xZ0f08tnHKFXro77njXPaeN6Vrsb501vcjfO22jNnhjv8G6cN/F4oI/VMYRr8t3iZFHvEnrhjJjV/YaLWT2jd4VzWlditbpnt70ndTfOWxR37uPWc1rXmOq+s+7ZatCj+sGhj/bxMfQO3Xt2vZNgPJlPnOMPOMLBd/hDYrSHfoc96J7/++EQhmRL+uHX3++uu/XuoHlq2w614evvd29JP0wPUVRleOWtTxvb/jBonjrEUBu+8tanRVUGeohIW4cPak+3rZtzb93ce+vmtq2f07auL8ZDxC6LL1i1csCStt5N1s9pWz+nbd1cesMPak9H2joMNXXrf2tU6OdffTBo/v7lN9/951/fffd///7XP777z7ffffef7777v//v//3z22/++c0///nVV19+/sXnX3zx+VdffpGzt7D+9ruD7OTo6r5rzJjax8trZ/YtXa3pXblJ6zZw4eBramL679N4FIIgCNHmpgGjizYnrya8tafpbb21p199cP7Vts3eRkd1dDVBEDOPPuh3kL2/bdK69RxA7cze/b/attm75/HpZNHA4xzqqH5gNDGEW3Ib/dhoFKNDfWLeBj3HH3CEg/xBPGPaNvf/t8XMo/TevnfPP344hFGJTz/yxh8/O3f/w0GjPFDxPffQlQcqhtrwjT9+Fp9+hB7iYPW1e293t3R+PGjURd/3OnR1UeVQG957u/tg9TV6iEhbhz+erXp1x/JXd6x4nOWPf1x+YP363h0eWL/+1R0rnliy3GiT5a9u79nPH89WRdo6DDV1q40L/cIv/jRotLkFg35yy779BwsOHMk1WnLoNNV49/dD7QdBEOSp2Zp59O1Pvnjuu337ky+2Zh6lHx+uvdH+u79d+tWj55v23/3tcO0NeohIW4cHl86+nrb5OWUL/eDBpbORtg5DneOyt77sK/SLv3w4aFo6Pmq8+96z5Oy99y+89mCo/SAIgjw12xTH3n341dXf/Pn55t2HX21THKOHOKq72fn+35/7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" alt="" />

停留一秒后进入比赛窗口,那是如何进入比赛窗口的呢。我们需要看step函数

step函数:

void CCWelCome::step(float dt)
{
// 比赛界面的Scene
CCScene* pScene = CCMainMenu::scene();
// 做个特效,逐渐隐退效果
CCScene* ps = CCTransitionFade::create(2, pScene, ccc3(0, 0, 0));
//CCScene* ps = pScene; // 如果把上面的话,换成这句,那么场景切换就很生硬了
// 替换sence
CCDirector::sharedDirector()->replaceScene(ps);
// step函数的定时器取消掉
unschedule(schedule_selector(CCWelCome::step));
}

step函数创建新的主界面场景,然后在场景切换时做了个特效,接着将新的sence替换那个WelCome的Scene。

这样CCMainMenu的init函数就要被自动调用了....

预知后事如何,请听下回分解

上一篇:mybatis查询异常-Error querying database. Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List


下一篇:NYOJ题目168房间安排