Cocos Creator不规则按钮

实现该功能需要用到组件PolygonCollider2D,官方链接:

https://docs.cocos.com/creator/3.4/manual/zh/physics-2d/physics-2d-collider.html

创建组件

创建一个精灵节点:

Cocos Creator不规则按钮_第1张图片

创建碰撞组件PolygonColider2D,如图

Cocos Creator不规则按钮_第2张图片

给按钮添加多边形碰撞组件PolygonColider,并设置Points。

Cocos Creator不规则按钮_第3张图片

 勾选Editing可以看见Points的绿点,可以通过鼠标拖动自定义多边形形状。

Cocos Creator不规则按钮_第4张图片

 也可以通过修改Threshold的值,点击Regenerate Points自动根据图片生成多边形。

Cocos Creator不规则按钮_第5张图片

代码实现

let collider = this.node.getComponent(PolygonCollider2D);
this.node.on(NodeEventType.TOUCH_END, (event: EventTouch)=>{
     let location = event.getUILocation();
     if (Intersection2D.pointInPolygon(location, collider.worldPoints)) {
          console.log("hit")
     }
     else {
          console.log("not hit")
     }
})

ps:如果出现无法导入PolygonCollider2D,或者通过getComponent获取到组件,比如:

 

 需要检查一下项目设置中的功能裁剪中有没有裁剪2D物理系统,PolygonCollider2D属于2D物理系统,勾上就好啦。

Cocos Creator不规则按钮_第6张图片

 

 

 

 

你可能感兴趣的:(CocosCreator,CocosCreator,typescript,不规则按钮,物理碰撞组件)