Bläddra i källkod

添加边界碰撞器

woso_javan 2 månader sedan
förälder
incheckning
ca26d08d3e

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2229 - 4
assets/module_storm_sunder/Prefabs/Map1.prefab


+ 23 - 0
assets/module_storm_sunder/Script/Component/BorderComponent.ts

@@ -0,0 +1,23 @@
+import { _decorator, BoxCollider, Component, ITriggerEvent, Node } from 'cc';
+const { ccclass, property } = _decorator;
+
+@ccclass('BorderComponent')
+export class BorderComponent extends Component {
+
+    tigger: BoxCollider = null!; //龙卷风触发器
+    start() {
+        this.tigger = this.node.getComponent(BoxCollider)!;
+
+        this.tigger.on('onTriggerEnter', this.onTriggerEnter, this);
+    }
+
+    private onTriggerEnter(event: ITriggerEvent): void {
+        const other = event.otherCollider.node;
+        if (event.otherCollider.getGroup() == 1 << 4) {
+            other.removeFromParent();
+            other.destroy();
+        }
+    }
+}
+
+

+ 9 - 0
assets/module_storm_sunder/Script/Component/BorderComponent.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.23",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "a3f877a8-2535-49de-b62c-cdf894d68e72",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 4 - 0
assets/module_storm_sunder/Script/Component/PropMoveComponent.ts

@@ -31,6 +31,10 @@ export class PropMoveComponent extends PropComponent {
     protected override onTriggerEnter(event: ITriggerEvent) {
         // super.onTriggerEnter(event);
 
+        if (event.otherCollider.getGroup() === 1 << 5) {
+            console.log(`碰撞到了边界碰撞器!!!`)
+            return;
+        }
         const otherCollider = event.otherCollider;
         const otherNode = otherCollider.node;
         this.oppositeDirection();

+ 6 - 2
settings/v2/packages/project.json

@@ -33,6 +33,10 @@
       {
         "index": 4,
         "name": "prop"
+      },
+      {
+        "index": 5,
+        "name": "border"
       }
     ],
     "collisionMatrix": {
@@ -40,8 +44,8 @@
       "1": 30,
       "2": 30,
       "3": 30,
-      "4": 30,
-      "5": 32,
+      "4": 62,
+      "5": 48,
       "6": 64,
       "7": 128,
       "8": 256,

Vissa filer visades inte eftersom för många filer har ändrats