本文共 4352 字,大约阅读时间需要 14 分钟。
//触摸注册事件//如果没有这个,默认的是多点触摸,Target是单点,Stand是多点触摸
void HelloWorld::registerWithTouchDispatcher() { CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true); //第二个参数是优先级,越低的优先级越高,优先响应,true是触摸吞噬,如果是true的话,那么触摸就被它获取,后面的view不在接受 }
ccTouchBegan返回的是一个BOOL值,如果是true的话,那就意味着你不想让当前的触摸事件传到到其他触摸事件处理器。你实际上是“吞下了”这个触摸事件。
注意:
资源文件名的大小写,真机上是区分大小写的,而模拟器是不区分的。
事件间隔动作:
CCMoveTo*move = CCMoveTo::create(3,ccp(100,200));myNode->runAction(move);重复动作:CCRotateBy *rotateBy = CCRotateteBy::create(2,360);CCRepeatForever*repeat = CCRepeatForever::cease(rotateBy);舒缓动作:CCMoveTo *move = CCMoveTo::create(3,cpp(100,200));//节点慢慢启动,在移动中加速CCEaseInOut*ease = CCEaseInOut::create(move,4);myNode->runAction(ease);cocos2d实现了一下CCEaseAction类:例如:CCEaseBackIn动作序列CCSequenceCCSequence *seq = [CCSequence actions:tint1,tint2,nil];[label runAction:seq];回调函数://CCCallFunc是执行对应的回调函数,其中回调函数不可带参数。一般使用静态成员函数create创建实例CCCallFunc *callFunc = CCCallFunc::create(this,callfunc_selector(HelloWorld::funC_CallBack));pLabel->runAction(callFunc);//带参数的回调CCCallFuncN,其中带一个参数,一般由静态成员create创建实例CCCallFuncN *callFuncN = CCCallFuncN::create(this,callfuncN_selector(HelloWorld::funcN_CallBack));pLabel->runAction(callFuncN);void HelloWorld::funcN_CallBack(void *sender){ CCLabelTTF *label = (CCLabelTTF *)sender; label->setStrign("hello"); CCLog("CallFuncN的回调");}//带两个参数的回调CCString *str = CCString::create("data参数");str->retain();CCCallFuncND *callFuncND = CCCallFuncND::create(this,callfuncND_selector(HelloWorld::funcND_CallBack),str); //最后一个参数是void*可以是任意类型pLabel->runAction(callFuncND);void HelloWorld::funcN_CallBack(void *sender,void *data){ CCString *str = (CCString *)data; CCLabelTTF *label = (CCLabelTTF *)sender; label->setString(str->getCString());}//CCCallFuncOCCString *str = CCString::create("object参数");str->retain();CCCallFuncO*callFuncO = CCCallFuncO::create(this,callfuncO_selector(HelloWorld::funcO_CallBack),str);pLabel->runAction(callFuncO);void HelloWorld::funcO_CallBack(CCObject *object){ CCString * = (CCString *)object; CCLog("%s",str->getCString());}
本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366397,如需转载请自行联系原作者