先说一点,这是从别人那里扒来的,亲测有效觉得不错,分享一下:
原理很简单,就是判断按钮图片的点击区域 像素点透明度是不是0,需要修改源代码;
我拿cocos2dx 3.10的版本(xcode环境)举例:
第一步,新建一个cocos项目,找到cocos的源代码中的Widget,它在ui 》base 》UIWidget.h文件中,在Widget类的public中添加三个函数:
virtual bool AlphaTouchCheck(const Vec2 &point);
virtual bool getAlphaTouchEnable();
virtual void setAlphaTouchEnable(bool isAlphaTouch);
然后再添加一个布尔型变量:
bool _isAlphaTouchEnable;
在UIWidget.cpp文件中实现:bool Widget::AlphaTouchCheck(const Vec2 &point)
{
returntrue;
}
bool Widget::getAlphaTouchEnable()
{
return_isAlphaTouchEnable;

本文介绍如何在cocos2d-x 3.10版本中通过修改源代码,实现根据按钮图片透明度判断点击区域是否有效的功能。详细步骤包括在UIWidget.h和UIWidget.cpp中添加相关函数,并在Button类中实现AlphaTouchCheck方法,从而让不规则形状的按钮能正确响应点击。
1161

被折叠的 条评论
为什么被折叠?



