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

猜你喜欢

转载自blog.csdn.net/mingketao/article/details/130203583