1、
CcmenuItemSprite首先是一个节点(继承Node),内部包含了三个子节点(m_pnormalimage,m_pSelectedImage,m_pDisabledImage),
这三个子节点分别对应着CcmenuItem普通状态,选中状态和禁止状态。
2、
初始化方法:
CcmenuItemSprite * CcmenuItemSprite::create(CCNode* normalSprite,CCNode* selectedSprite,CCNode* DisabledSprite)
3、
menuItem的大小:
voID CcmenuItemSprite::setnormalimage(CCNode* pImage){ if (pImage != m_pnormalimage) { if (pImage) { addChild(pImage,knormalTag); pImage->setAnchorPoint(ccp(0,0)); } if (m_pnormalimage) { removeChild(m_pnormalimage,true); } m_pnormalimage = pImage; this->setContentSize(m_pnormalimage->getContentSize()); this->updateImagesVisibility(); }}
4、
点击按钮的状态切换就是通过隐藏和显示不同的状态来实现的:
voID CcmenuItemSprite::selected(){ CcmenuItem::selected(); if (m_pnormalimage) { if (m_pDisabledImage) { m_pDisabledImage->setVisible(false); } if (m_pSelectedImage) { m_pnormalimage->setVisible(false); m_pSelectedImage->setVisible(true); } else { m_pnormalimage->setVisible(true); } }}
总结:
1、如果想要在menuItem上面加入一个东西,如文字,表明是什么功能的按钮, 如果需要在三种状态下都显示,那么只需要把它加入到menuItem节点上即可。 2、如果三个状态显示的内容不同,如果只是图片变化,则使用 CcmenuItemImage * CcmenuItemImage::create(const char *normalimage,const char *selectedImage,const char *DisabledImage) , 如果不止是图片变化,则使用CcmenuItemSprite::create(CCNode* normalSprite,CCNode* DisabledSprite)。
总结以上是内存溢出为你收集整理的cocos2dx menu思考 (1)全部内容,希望文章能够帮你解决cocos2dx menu思考 (1)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)