cocos2d-x HellloWorld程序解析

我是个刚开始学coocs2d-x的新手,对于很多还是不懂啊!有错误的希望大家包涵啊! 方便那些刚刚学习cocos2d-x的新手!

HelloWorld场景包涵两个文件:HelloWorld.cpp 和 HelloWorld.h(头文件)这个就不多说了

打开HelloWorld.cpp 文件

有三个函数:

init();

Scene();

menuCloseCallBack(CCObject *pSender);(cocos2d-x命名都是按照见名之意的原则,所以函数基本上根据英语的意思就了解一二)

Scene()函数是创建一个新的场景。

menuCloseCallBack(CCObject *pSender);是执行“关闭”函数

主要是在init()函数里面了。

刚开始的HelloWorld运行后,出现的窗口是包括一个显示“HelloWorld”字符串,背景图片,关闭操作,下面介绍这个函数里面如何实现的这三个操作

1、显示HelloWorld

  //这是一个添加标签的语句,调用CClabelTTF里面的labelWirhString函数,三个函数分别是,所显示的字符串,字体型号,字体大小(字符串改成中文会出现乱码)

CCLabelTTF* pLabel = CCLabelTTF::labelWithString("HelloWorld", "Arial", 40);

CCSize size = CCDirector::sharedDirector()->getWinSize();//初始化,没有这句话调用下面的ccp函数会报错

pLabel->setPosition( ccp(size.width / 2, size.height - 50) );//其实可以直接调用CCPointMake(x,y);

this->addChild(pLabel, 1);//将这个标签添加进去,这是必须的,否则不会显示

2、背景图片

//创建一个CCSprite对象,调用spriteWithFile函数(“图片名称”)(默认的是当前地址,如果在别处,需要绝对路径)

CCSprite* pSprite = CCSprite::spriteWithFile("HelloWorld.png");

 //设置 这个精灵在窗口的位置

 pSprite->setPosition( ccp(size.width/2, size.height/2) );

 // 将这个精灵加入层中(第一个参数是所加入的对象,第二参数是所加入的顺序即在第几层,背景一般在最底层0)

  this->addChild(pSprite, 0);

 3、关闭操作

//这是一个建立菜单语句,以图片的形式加入itemFromNormalImage, 后面一共有四个参数,第一个是在屏幕上显示的状态,第二个是你点击后的状态,第三个是对当前对象操作,第四个相当于连接一样,点击这个菜单后所调用的函数,是menuCloseCallback,即关闭

CCMenuItemImage *pNextItem = CCMenuItemImage::itemFromNormalImage(           "next.png",           "next1.png",           this,menu_selector(HelloWorld::menuCloseCallback) ); 

//设置位置

 pNextItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width - 400, 20) );

//创建一个CCMenu对象,让这个对象能以菜单的形式显示在屏幕上,否则所定义的菜单是不能显示的。

 CCMenu* pMenu1 = CCMenu::menuWithItems(pNextItem, NULL); //如果有多个菜单,可以在括号里加上创建的各个对象(1,2,3,4...,null);

 pMenu1->setPosition( CCPointZero ); //设置锚点

 this->addChild(pMenu1, 1);//一样,添加至层(layer)

这样,HelloWorld的显示就只这样的。

由于很多代码我自己修改过,所以有些不一样,但是意思都是一样的。

谢谢哦。有错误希望指出来哦!

posted @ 2012-04-03 14:16  EWen.流  阅读(513)  评论(4编辑  收藏  举报