> 文章列表 > cocos creator v3.6版本使用Intersection2D模块的circleCircle方法

cocos creator v3.6版本使用Intersection2D模块的circleCircle方法

cocos creator v3.6版本使用Intersection2D模块的circleCircle方法

在cocos creator v3版本中Intersection2D模块的circleCircle方法可以用来检测两个圆形是否相交

该方法可以实现的功能有:
cocos creator吸铁石实现cocos creator物体在固定位置吸附cocos creator物体吸附效果cocos creator吸铁石实现cocos creator两个物体时候相交cocos creator物体判断是否在某个范围内cocos creator图片吸附等等

效果展示:
1.不相交
在这里插入图片描述
2.相交
在这里插入图片描述

插件代码:

import { _decorator, Component, Intersection2D, Vec2, UITransform} from 'cc';
const { ccclass, property } = _decorator;@ccclass('matching')
export class matching extends Component {start() {let SpriteSplash = this.node.getChildByName("SpriteSplash");let circlePos = new Vec2(SpriteSplash.position.x, SpriteSplash.position.y);let circleRadius = SpriteSplash.getComponent(UITransform).width/2;let SpriteSplash1 = this.node.getChildByName("SpriteSplash1")let circle1Pos = new Vec2(SpriteSplash1.position.x, SpriteSplash1.position.y);let circle1Radius = SpriteSplash1.getComponent(UITransform).width/2;let isIntersect = Intersection2D.circleCircle(circlePos, circleRadius, circle1Pos, circle1Radius);if (isIntersect) {console.log('两个圆形相交');} else {console.log('两个圆形不相交');}}update(deltaTime: number) {}
}

将插件填入添加到节点中

在这里插入图片描述

cocos creator吸铁石实现说明
基于circleCircle方法,只要将第一个物体(人物)的半径加宽,第二个物体(金币)进入到圈的范围内,circleCircle将返回true(相交),随后可以通过tween缓动系统移动,即可实现

cocos creator物体在固定位置吸附
基于circleCircle方法,在固定位置地方设置一个半透明小圆点,第二个物体进入到圈的范围内(可以将第二个物体的半径c2r设置小些差不多和第一个小圆点大小),当两个物体相交时,将物体的锚点直接设置到固定点,即可实现吸附效果。

有任何不会或者疑问的地方,或者像了解解决方案,随时联系文章作者,作者看到会立即回复,给个赞谢谢!

官方 circleCircle方法介绍:https://docs.cocos.com/creator/api/zh/class/Intersection2D?id=circleCircle