
图片白色部分表示透明区域,用户当点击透明区域时,不会触发事件,不发生移动。只有点击有颜色的区域才能触发事件
一张图片总是矩形的形状的,肯定会存在透明的部分。那么该如何实现只有点击有颜色的区域才能触发事件么?

图片白色部分表示透明区域,用户当点击透明区域时,不会触发事件,不发生移动。只有点击有颜色的区域才能触发事件
试试 PolygonCollider
碰撞组件,用于检测两物体是否发生碰撞,当发生碰撞时会有三个事件触发,onCollisionEnter,onCollisionEnter,onCollisionExit。但鼠标的点击事件该怎么办呢?试过了给物体添加PolygonCollider后,添加点击事件,点击到透明区域仍然会触发事件的。
const touchPoint = touch.getLocation()
if (cc.Intersection.pointInPolygon(touchPoint, this.nodeCollider.world.points)) {
console.warn("颜色部分")
}
else {
console.warn("空白区")
}
判断一下
Regenerate Points精细化物体的碰撞检测了。但点击透明区域时 this.node.on(“touchmove”, (e: cc.Event.EventTouch) => { }) 还是能触发的。
@property(cc.PolygonCollider)
nodeCollider: cc.PolygonCollider = null
然后把你那个节点拖过去
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。