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) {
    
    
        
    }
}


プラグインをノードに追加する

ここに画像の説明を挿入

ココスクリエイターマグネット実装手順
CircleCircleメソッドに基づき、最初のオブジェクト(キャラクター)半径加宽と2番目のオブジェクト(金貨)が円の範囲内に入れば、circleCircleはtrue(交差)を返し、その後、円の範囲内を移動できます。トゥイーンイージングシステム、達成するために

ココスクリエーターオブジェクトは固定位置に吸着されます
。circleCircleメソッドに基づいて、小さな半透明のドットが固定位置に設定され、2番目のオブジェクトが円の範囲に入ります(2番目のオブジェクトの半径c2rを設定できます)小さい点 (最初のものとほぼ同じ) のサイズ)、2 つのオブジェクトが交差するとき、吸着効果を達成するためにオブジェクトのアンカー ポイントを固定点に直接設定します。

疑問や質問がある場合、または解決策が知りたい場合は、いつでも記事の著者に連絡してください。著者はそれを見たときにすぐに返信します。お褒めいただき、ありがとうございます。

公式circleCircleメソッド紹介: https://docs.cocos.com/creator/api/zh/class/Intersection2D?id=circleCircle

おすすめ

転載: blog.csdn.net/mingketao/article/details/130203583