cocos2d (ZORDER、setTag、单点触屏)

来源:互联网 发布:网络大电影 铁扇公主 编辑:程序博客网 时间:2024/06/08 17:08

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*);
0 0
原创粉丝点击