Cocos2d-x MultipleTouch & CCControllButton'(3)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:33 点击:

p> 

p>居然,有一个 setHighlighted方法,这个和 setSelected 方法有什么区别呢? 两个方法所对应的属性应该都是在button选中的吧!疑问

p> 

p>带着疑问,继续-----

p>我们找到触摸事件的回调方法(只显示前两个touch began 和 moved 方法):

p>[cpp] 

p>bool CCControlButton::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)  

p>{  

p>    if (!isTouchInside(pTouch) || !isEnabled() || !isVisible() || !hasVisibleParents() )  

p>    {  

p>        return false;  

p>    }  

p>      

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

p>    {  

p>        if (c->isVisible() == false)  

p>        {  

p>            return false;  

p>        }  

p>    }  

p>      

p>    m_isPushed = true;  

p>    this->setHighlighted(true);  

p>    sendActionsForControlEvents(CCControlEventTouchDown);  

p>    return true;  

p>}  

p>  

p>void CCControlButton::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent)  

p>{      

p>    if (!isEnabled() || !isPushed() || isSelected())  

p>    {  

p>        if (isHighlighted())  

p>        {  

p>            setHighlighted(false);  

p>        }  

p>        return;  

p>    }  

p>      

p>    bool isTouchMoveInside = isTouchInside(pTouch);  

p>    if (isTouchMoveInside && !isHighlighted())  

p>    {  

p>        setHighlighted(true);  

p>        sendActionsForControlEvents(CCControlEventTouchDragEnter);  

p>    }  

p>    else if (isTouchMoveInside && isHighlighted())  

p>    {  

p>        sendActionsForControlEvents(CCControlEventTouchDragInside);  

p>    }  

p>    else if (!isTouchMoveInside && isHighlighted())  

p>    {  

p>        setHighlighted(false);  

p>          

p>        sendActionsForControlEvents(CCControlEventTouchDragExit);          

p>    }  

p>    else if (!isTouchMoveInside && !isHighlighted())  

p>    {  

p>        sendActionsForControlEvents(CCControlEventTouchDragOutside);          
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1