coco2d 图表怎样使父节点缩放子节点不变

主题 : 【分享】CocoStudio UIButton setPressedActionEnabled(true) 子控件不跟着缩放
级别: 新手上路
可可豆: 56 CB
威望: 56 点
在线时间: 11(时)
发自: Web Page
【分享】CocoStudio UIButton setPressedActionEnabled(true) 子控件不跟着缩放&&&
具体情况是这样的:美术给了我 一个按钮的背景图片  一个按钮的文字图片,用背景图片创建一个button,然后把文字图片添加进去(注意关闭文字图片的交互功能)设置UIButton setPressedActionEnabled(true) 后运行 发现只有背景图片有缩放动作,文字图片没有缩放我觉的这应该是bug,一般来说父控件缩放了那么子控件应该跟随缩放才对解决办法: 修改UIButton::onPressStateChangedToNormal() 方法和 UIButton::onPressStateChangedToPressed()void UIButton::onPressStateChangedToNormal(){    m_pButtonNormalRenderer-&setVisible(true);    m_pButtonClickedRenderer-&setVisible(false);    m_pButtonDisableRenderer-&setVisible(false);    if (m_bPressedActionEnabled)    {        m_pButtonNormalRenderer-&stopAllActions();        m_pButtonClickedRenderer-&stopAllActions();        m_pButtonDisableRenderer-&stopAllActions();        CCAction *zoomAction = CCScaleTo::create(0.05f, 1.0f);        CCAction *zoomAction1 = CCScaleTo::create(0.05f, 1.0f);        CCAction *zoomAction2 = CCScaleTo::create(0.05f, 1.0f);        m_pButtonNormalRenderer-&runAction(zoomAction);        m_pButtonClickedRenderer-&runAction(zoomAction1);        m_pButtonDisableRenderer-&runAction(zoomAction2);        //添加下面这些代码       CCObject *       CCARRAY_FOREACH(getChildren(),item)       {             UIWidget* widget = dynamic_cast&UIWidget*&(item);             widget-&stopAllActions();             CCAction *zw = CCScaleTo::create(0.05f, 1.0f);             widget-&runAction(zw);       }    }}void UIButton::onPressStateChangedToPressed(){    m_pButtonNormalRenderer-&setVisible(false);    m_pButtonClickedRenderer-&setVisible(true);    m_pButtonDisableRenderer-&setVisible(false);    if (m_bPressedActionEnabled)    {        m_pButtonNormalRenderer-&stopAllActions();        m_pButtonClickedRenderer-&stopAllActions();        m_pButtonDisableRenderer-&stopAllActions();        CCAction *zoomAction = CCScaleTo::create(0.05f, 1.1f);        CCAction *zoomAction1 = CCScaleTo::create(0.05f, 1.1f);        CCAction *zoomAction2 = CCScaleTo::create(0.05f, 1.1f);        m_pButtonNormalRenderer-&runAction(zoomAction);        m_pButtonClickedRenderer-&runAction(zoomAction1);        m_pButtonDisableRenderer-&runAction(zoomAction2);        //添加下面这些代码       CCObject *       CCARRAY_FOREACH(getChildren(),item)       {             UIWidget* widget = dynamic_cast&UIWidget*&(item);             widget-&stopAllActions();             CCAction *zw = CCScaleTo::create(0.05f, 1.1f);             widget-&runAction(zw);       }    }}[ 此帖被hanrea在 15:25重新编辑 ]
级别: 新手上路
UID: 315114
可可豆: 59 CB
威望: 43 点
在线时间: 168(时)
发自: Web Page
在cocos2d3.0的版本 CCARRAY_FOREACH(getChildren(),item) 报错,请问应该怎么改,谢谢
级别: 骑士
UID: 76107
可可豆: 422 CB
威望: 512 点
在线时间: 151(时)
发自: Web Page
回 1楼(wft1987520) 的帖子
3.0中getChildren()返回的是Vector&Node *&, 使用方法参考:
级别: 新手上路
UID: 315114
可可豆: 59 CB
威望: 43 点
在线时间: 168(时)
发自: Web Page
回 2楼(sapre) 的帖子
请问应该怎么改,我改了好久都报错。
级别: 新手上路
UID: 315114
可可豆: 59 CB
威望: 43 点
在线时间: 168(时)
发自: Web Page
回 2楼(sapre) 的帖子
这是我现在改的,但还是报错CCObject * &&&&&&&&&&&&vector&Node*&&a = getChildren();&&&&&&&&&&&&CCARRAY_FOREACH(&a, __object__)&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&Widget* widget = dynamic_cast&Widget*&(item); &&&&&&&&&&&&&&&&widget-&stopAllActions(); &&&&&&&&&&&&&&&&CCAction *zw = CCScaleTo::create(0.05f, 1.0f); &&&&&&&&&&&&&&&&widget-&runAction(zw); &&&&&&&&&&&&}
级别: 新手上路
UID: 315114
可可豆: 59 CB
威望: 43 点
在线时间: 168(时)
发自: Web Page
回 楼主(忘殇) 的帖子
这是我现在改的,但是还是不行,麻烦帮我看看哪里错了?Ref *&&&&&&&&&&&&Vector&Node*& pChildrenArray = this-&getChildren(); &&&&&&&&&&&&Vector&Node*&::&&&&&&&&&&&&for(iter=pChildrenArray.begin();iter!=pChildrenArray.end();iter++)&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&Widget* widget = dynamic_cast&Widget*&(item); &&&&&&&&&&&&&&&&widget-&stopAllActions(); &&&&&&&&&&&&&&&&Action *zw = ScaleTo::create(0.05f, 1.0f); &&&&&&&&&&&&&&&&widget-&runAction(zw); &&&&&&&&&&&&}
级别: 新手上路
UID: 315114
可可豆: 59 CB
威望: 43 点
在线时间: 168(时)
发自: Web Page
回 2楼(sapre) 的帖子
这是我现在改的,但是还是不行,麻烦帮我看看哪里错了?
Ref * &&&&&&&&&&&&Vector&Node*& pChildrenArray = this-&getChildren();&&&&&&&&&&&&&&Vector&Node*&::
&&&&&&&&&&&&for(iter=pChildrenArray.begin();iter!=pChildrenArray.end();iter++) &&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&Widget* widget = dynamic_cast&Widget*&(item);&&&&&&&&&&&&&&&&&&widget-&stopAllActions();&&&&&&&&&&&&&&&&&&Action *zw = ScaleTo::create(0.05f, 1.0f);&&&&&&&&&&&&&&&&&&widget-&runAction(zw);&&&&&&&&&&&&&&}
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)主题 : 怎样设置子节点位置不随父节点移动?
级别: 新手上路
可可豆: 24 CB
威望: 24 点
在线时间: 68(时)
发自: Web Page
来源于&&分类
怎样设置子节点位置不随父节点移动?&&&
现在有一个玩家player的血条uiui-&setPosition(0,0);player-&addChild(ui);这样的话血条一直跟着player,而我想将血条设置在屏幕左上角,试过convertToNodeSpace和convertToWorldSpace,均无果。请问应该怎么设置位置才行,同时也要保证player和ui的父子关系?
级别: 侠客
UID: 283521
可可豆: 489 CB
威望: 462 点
在线时间: 2173(时)
发自: Web Page
那就不要把血条UI设为player的子节点呗,两者为并列关系不就行了
临风振羽,知青云之志未消
级别: 新手上路
可可豆: 24 CB
威望: 24 点
在线时间: 68(时)
发自: Web Page
回 1楼(紫色阔叶林) 的帖子
这样确实可以,可是我现在又遇到一个麻烦,不过是类的设计问题了。谢谢你!
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版主题 : 关于cocos2dx的父节点、子节点、锚点的问题
级别: 新手上路
可可豆: 44 CB
威望: 44 点
在线时间: 14(时)
发自: Web Page
来源于&&分类
关于cocos2dx的父节点、子节点、锚点的问题&&&
在工作中遇到过一个情况,有两个节点,节点1和节点2,节点2是节点1的子节点。当我改变父节点(节点1)的时候,子节点(节点2)的位置变化了,这个相当不解。我的理解是,锚点是自身纹理显示所需要的,跟位置无关的。一个节点的锚点改变了,只会影响到这个节点的纹理的显示,而不会影响到子节点的其他变化。求高手指导!!谢谢 [ 此帖被在 12:08重新编辑 ]
级别: 新手上路
可可豆: 60 CB
威望: 60 点
在线时间: 218(时)
发自: Web Page
你所谓改变父节点是改变了大小还是只是改变了位置或者锚点?前者肯定对子节点产生影响,后者应该是不会有位置变化问题啊
级别: 新手上路
UID: 288801
可可豆: 117 CB
威望: 103 点
在线时间: 203(时)
发自: Web Page
试试看ignoreAnchorPointForPosition(false);
级别: 新手上路
可可豆: 13 CB
威望: 13 点
在线时间: 35(时)
发自: Web Page
子节点的位置是相对于父节点锚点的,父节点锚点位置改变,子节点当然会改变位置
级别: 新手上路
可可豆: 44 CB
威望: 44 点
在线时间: 14(时)
发自: Web Page
回 3楼(zhhyf521) 的帖子
谢谢回复,发现了子节点的位置是相对于父节点的图片的左下角来设置位置的。
级别: 新手上路
可可豆: 44 CB
威望: 44 点
在线时间: 14(时)
发自: Web Page
回 1楼(airind) 的帖子
谢谢回复,我说的是改变父节点的锚点
级别: 新手上路
可可豆: 44 CB
威望: 44 点
在线时间: 14(时)
发自: Web Page
回 2楼(江南小排) 的帖子
谢谢回复,如果用ignoreAnchorPointForPosition(false)设置父节点,那么子节点应该是相对于父节点的节点位置来设置坐标的
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版}

我要回帖

更多关于 cocos 父节点缩放 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信