class HelloWorld : public cocos2d::CCLayer
{
public:
//初始化这个图层类
virtual bool init(); //在屏幕中显示什么内容可以在初始化中定义
//使用场景包装图层
//helloworld的scene方法可以返回一个场景对象
static cocos2d::CCScene* scene();
//菜单响应方法
void menuCloseCallback(CCObject* pSender);
//创建图层方法
CREATE_FUNC(HelloWorld);
};
//---------------------
USING_NS_CC;
//创建场景是通过hellworld的scene方法创建
CCScene* HelloWorld::scene()
{
//创建一个场景
CCScene *scene = CCScene::create();
//创建一个helloworld图层
HelloWorld *layer = HelloWorld::create();//创建一个场景的时候就会自动初始化(自动调用init方法进行初始化)
//添加这个图层到场景
scene->addChild(layer);
//返回这个场景
return scene;
}
//初始化helloworld的图层
bool HelloWorld::init()
{
//
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
//通过导演 得到屏幕的大小
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
/
//创建菜单 this是委托对象 munu_selector是委托方法
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback));
pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
origin.y + pCloseItem->getContentSize().height/2));
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu, 1);//把菜单添加到当前图层