Cocos2dx Widget 按钮透明区域过滤,cocos2dxwidget

  次阅读 来源:互联网(转载协议) 2015-09-28 15:35 我要评论(0)

Cocos2dx Widget 按钮透明区域过滤,cocos2dxwidget

小伟哥 遇到一个命题:

按钮透明区域过滤。当点击一个建筑按钮、花的时候不得不想一些方法把点击透明区域过滤掉。

让点击也没有效果滴啦。

开始搜索了半天才有所思路。

在网络上很多贴代码的。

http://blog.csdn.net/lwuit/article/details/40658347

整理后代码如下:

bool CCMenu::CheckAlphaPoint(CCMenuItem* pChild, const CCPoint& point)

{

CCSize winSize = CCDirector::sharedDirector()->getWinSize();

CCNode* selectSprite = ((CCMenuItemSprite*)pChild)->getSelectedImage();

CCRenderTexture *renderer = CCRenderTexture::create(winSize.width, winSize.height);

renderer->begin();

bool visible = selectSprite->isVisible();

if (visible) {

selectSprite->visit();

}

else

{

selectSprite->setVisible(true);

selectSprite->visit();

selectSprite->setVisible(false);

}

GLubyte pixelColors[4];

#if ( CC_TARGET_PLATFORM != CC_PLATFORM_WIN32)

glReadPixels(point.x, point.y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, &pixelColors[0]);

#else

glReadPixels(point.x, point.y, 1, 1, GL_ALPHA, GL_UNSIGNED_BYTE, &pixelColors[0]);

#endif

int alpha = pixelColors[0];

CCLOG("----alpha %d", alpha);

renderer->end();

if (alpha <= 30)

{

return true;

}

else

{

return false;

}

}

上面代码的确在测试工程上面直接简历个ccsprite 活着 menuitem 是可以执行的。

随着UI工具的进步。我们选择了CocoStudio 的 Widget 。方便了你我埃

但是可但是,把上面的代码贴过来,试了试真心不能用埃

有些同志,到此放弃了对知识原理的探究。

程序就是苦埃遇到这样的问题必须往下研究不是?

经过了多重推敲与图纸推测。

后来发现了出现问题的根本原因:

CCRenderTexture *renderer 渲染后不能得到位置上面的颜色值 为0 00000为什么为0

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...