打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
cocos2d
原理很简单,新建一个类继承自CCMenu,重写它的touch事件,

加入自己的效果。

  1. bool MyMenu::ccTouchBegan(CCTouch* touch, CCEvent* event)  

  2. {  

  3.     CC_UNUSED_PARAM(event);  

  4.     if (m_eState != kCCMenuStateWaiting || ! m_bIsVisible)  

  5.     {  

  6.         return false;  

  7.     }  

  8.       

  9.     for (CCNode *c = this->m_pParent; c != NULL; c = c->getParent())  

  10.     {  

  11.         if (c->getIsVisible() == false)  

  12.         {  

  13.             return false;  

  14.         }  

  15.     }  

  16.       

  17.     m_pSelectedItem = this->itemForTouch(touch);  

  18.     if (m_pSelectedItem)  

  19.     {  

  20.         m_eState = kCCMenuStateTrackingTouch;  

  21.         m_pSelectedItem->selected();  

  22.         //这里加入自己想要的效果。。。。。。。。。。。。。。。。  

  23.         return true;  

  24.     }  

  25.     return false;  

  26. }  复制代码
复制代码

还没有结束,我想要的是让menu里面的item有特效,那么我还应该重写它的

menuWithItems方法。


一定要记得改变他的初始化方法,原来的初始化方法返回的是系统的CCMenu,要自己改为返回自己定义的Menu
  1. MyMenu * MyMenu::menuWithItems(CCMenuItem* item, ...)  

  2. {  

  3.     va_list args;  

  4.     va_start(args,item);  

  5.     MyMenu *pRet = new MyMenu();//这里记得要注意  

  6.     if (pRet && pRet->initWithItems(item, args))  

  7.     {  

  8.         pRet->autorelease();  

  9.         va_end(args);  

  10.         return pRet;  

  11.     }  

  12.     va_end(args);  

  13.     CC_SAFE_DELETE(pRet)  

  14.     return NULL;  

  15. }  

  16.   

  17. MyMenu* MyMenu::menuWithItem(CCMenuItem* item)  

  18. {  

  19.     return menuWithItems(item, NULL);  

  20. }  复制代码
复制代码

这样你可以自己随意改变里面的m_pSelectedItem,要什么效果,自己写咯。

链接地址;http://www.1000phone.net/thread-1366-1-2.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Java2实用教程(第5版)答案 耿祥义、张跃平
jxl对Excel的读、写、更新以及插入图片(含代码实例)
ICE专题:使用C#编写ICE分布式应用程序
【转】Android 权限控制代码分析
深入Java虚拟机JVM类加载初始化学习笔记
ICE—互联网通信引擎的学习笔记 - 空山雪林通用模块设计工作室 - JavaEye技术网站
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服