CTag.cpp
#include "CTag.h"
CCScene* CTag::scene(){
CCScene * s = CCScene::create();
CTag*layer = CTag::create();
s->addChild(layer);
return s;
}
bool CTag::init(){
CCLayer::init();
//获取窗口大小
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCSprite *bg = CCSprite::create("HelloWorld.png");
addChild(bg);
bg->setPosition(ccp(winSize.width / 2, winSize.height / 2));
//设置tag
bg->setTag(TAG_BG);
CCSprite *sprite = CCSprite::create("CloseNormal.png");
addChild(sprite);
//设置order
sprite->setZOrder(1);
sprite->setTag(TAG_END);
sprite->setPosition(ccp(winSize.width / 2, winSize.height / 2));
//设置单点触屏
setTouchEnabled(true);
setTouchMode(kCCTouchesOneByOne);
return true;
}
bool CTag::ccTouchBegan(CCTouch*, CCEvent*){
//CCNode 是CCSprite的父类
CCNode*node=getChildByTag(TAG_END);
node->setZOrder(0 - node->getZOrder());
return true;
}
CTag.h
#ifndef __CTag_H__
#define __CTag_H__
#include "cocos2d.h"
USING_NS_CC;
class CTag:public CCLayer
{
public:
static CCScene*scene();
CREATE_FUNC(CTag);
bool init();
bool ccTouchBegan(CCTouch*, CCEvent*);
enum { TAG_BG = 10, TAG_END = 20 };
};
#endif
ps:单点触屏方法
setTouchEnabled(true);
setTouchMode(kCCTouchesOneByOne);
需要重写的方法
bool ccTouchBegan(CCTouch*, CCEvent*);