在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设置小些差不多和第一个小圆点大小),当两个物体相交时,将物体的锚点直接设置到固定点,即可实现吸附效果。
有任何不会或者疑问的地方,或者像了解解决方案,随时联系文章作者,作者看到会立即回复,给个赞谢谢!