关于精灵触摸时间的问题???

//用这个方法创建精灵 可以响应到精灵的触摸事件
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCreateRoleSprite* vSprite = CCreateRoleSprite::create(“sprite_01.png”);
vSprite->cocos2d::CCNode::setPosition(size.width/2, size.height/2);
addChild(vSprite);

//从plist文件中找出精灵图片创建精灵 就不可以响应到精灵的触摸事件
CCSpriteFrameCache* pUIPlist = CCSpriteFrameCache::sharedSpriteFrameCache();
pUIPlist->addSpriteFramesWithFile( “sprite.plist”, “sptite.png” );
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCreateRoleSprite* vSprite = CCreateRoleSprite::create( “sprite_01.png”, pUIPlist );
vSprite->CCNode::setPosition(size.width/2, size.height/2);
addChild(vSprite);

这到底是为什么呢???

touch只和layer有关,与精灵无关。

但我的精灵类重新封装过,里面有touch的响应

贴个封装代码上来, 一般还是用层来做touch处理会好些。layer管理sprites,响应touch,sprites做自己的逻辑和显示就好。

但如果就是要想要sprite呢
难道是要判断是否touch到sprite然后再做逻辑么?

精灵也可以。你可以在继承CCSprite的同时也实现CCTouchDelegate接口,这样就能直接在你的自定义类中处理touch了。