woso_javan vor 4 Wochen
Ursprung
Commit
3dba82c3e2

+ 2 - 2
assets/module_aliens/Prefabs/et.prefab

@@ -535,9 +535,9 @@
     },
     "_size": {
       "__type__": "cc.Vec3",
-      "x": 0.05,
+      "x": 0.07,
       "y": 0.06,
-      "z": 0.05
+      "z": 0.07
     },
     "_id": ""
   },

+ 22 - 12
assets/module_aliens/Script/LevelAction.ts

@@ -157,24 +157,23 @@ export class LevelAction extends Component {
 
         // 执行射线检测
         const hasHit = PhysicsSystem.instance.raycast(ray, mask, maxDistance, queryTrigger);
+        LevelManager.instance.levelModel.shootCount++;
 
         if (hasHit) {
             const results = PhysicsSystem.instance.raycastResults;
+            let hitEnemy = false;
+            
             for (let i = 0; i < results.length; i++) {
                 const item = results[i];
-                const hitNode = item.collider.node;
+                const collider = item.collider.node;
 
-                if (item.collider.getGroup() == 1 << 4) {
-                    LevelManager.instance.levelModel.headshotCount++;
-                    // console.log('爆头了!!!!!!!!!!!!');
-                    EventDispatcher.instance.emit(GameEvent.EVENT_CAMERA_HEADSHOT); // 触发事件通知UI显示headshot di
-                }
-
-                if (hitNode.getComponent(EnemyComponent)) {
+                const killMonster = (isHead:boolean) => {
+                    if (hitEnemy) return; // 已经击中敌人则不再处理
+                    
                     LevelManager.instance.levelModel.hitCount++;
-                    // console.log(`击中次数: ${LevelManager.instance.levelModel.hitCount} 爆头次数: ${LevelManager.instance.levelModel.headshotCount}`)
                     const levelNode = AliensGlobalInstance.instance.levels.children[0];
                     const remain = levelNode.getChildByName('Ets')!.children.length;
+                    const hitNode = isHead ? collider.parent : collider;
 
                     if (remain > 1) {
                         AliensAudioMgr.playOneShot(AliensAudioMgr.getMusicIdName(5), 1.0);
@@ -187,12 +186,23 @@ export class LevelAction extends Component {
                             EventDispatcher.instance.emit(GameEvent.EVENT_CAMERA_SHOOT_ENEMY, hitNode);
                         }, CAMERA_SPLIT_DURATION);
                     }
+
+                    EventDispatcher.instance.emit(GameEvent.EVENT_PLAY_GUN_ANIMATION);
+                    hitEnemy = true; // 标记已击中敌人
+                };
+
+                if (item.collider.getGroup() == 1 << 4) {
+                    LevelManager.instance.levelModel.headshotCount++;
+                    killMonster(true);
+                    EventDispatcher.instance.emit(GameEvent.EVENT_CAMERA_HEADSHOT);
+                    break;
+                }
+
+                if (item.collider.getGroup() == 1 << 3 && !hitEnemy) {
+                    killMonster(false);
                 }
             }
         }
-
-        EventDispatcher.instance.emit(GameEvent.EVENT_PLAY_GUN_ANIMATION);
-        LevelManager.instance.levelModel.shootCount++;
     }
 
     //相机转向目标

BIN
assets/module_aliens/Textures/MiaoZhunJin.png


+ 9 - 9
assets/module_aliens/Textures/MiaoZhunJin.png.meta

@@ -42,13 +42,13 @@
         "trimType": "auto",
         "trimThreshold": 1,
         "rotated": false,
-        "offsetX": 8,
+        "offsetX": 0,
         "offsetY": 0,
-        "trimX": 16,
+        "trimX": 0,
         "trimY": 0,
         "width": 675,
         "height": 675,
-        "rawWidth": 691,
+        "rawWidth": 675,
         "rawHeight": 675,
         "borderTop": 0,
         "borderBottom": 0,
@@ -83,21 +83,21 @@
             3
           ],
           "uv": [
-            16,
+            0,
+            675,
             675,
-            691,
             675,
-            16,
             0,
-            691,
+            0,
+            675,
             0
           ],
           "nuv": [
-            0.023154848046309694,
+            0,
             0,
             1,
             0,
-            0.023154848046309694,
+            0,
             1,
             1,
             1

+ 1 - 1
assets/module_aliens/rooster_aliens.scene

@@ -4734,7 +4734,7 @@
     "_contentSize": {
       "__type__": "cc.Size",
       "width": 760,
-      "height": 1600.0000000000002
+      "height": 1600
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",

+ 30 - 30
profiles/v2/packages/scene.json

@@ -962,31 +962,6 @@
       },
       "scale": 0.8781260801866495
     },
-    "7cef9a87-b169-4934-a57b-09eafc129e91": {
-      "position": {
-        "x": 0.4044160050532083,
-        "y": 0.16969306582856925,
-        "z": 1.2573660378611378
-      },
-      "rotation": {
-        "x": 0.0710948575621766,
-        "y": 0.13249171873082927,
-        "z": -0.009528169604113457,
-        "w": 0.9885851909066613
-      },
-      "viewCenter": {
-        "x": 0.01845443822285639,
-        "y": 0.3816154618481111,
-        "z": -0.1566938596229036
-      },
-      "contentRect": {
-        "x": 325.570977622386,
-        "y": 411.8351434450823,
-        "width": 880,
-        "height": 747
-      },
-      "scale": 0.8781260801866495
-    },
     "4016d2f3-3394-44fc-bad6-360527bec65d": {
       "position": {
         "x": 387.5,
@@ -1212,11 +1187,36 @@
       },
       "scale": 1
     },
+    "7cef9a87-b169-4934-a57b-09eafc129e91": {
+      "position": {
+        "x": 0.5402949219381419,
+        "y": 0.29597975177420394,
+        "z": 0.5750356750218065
+      },
+      "rotation": {
+        "x": -0.05069076410118356,
+        "y": 0.3251656457081618,
+        "z": 0.017450436776784897,
+        "w": 0.944136235689708
+      },
+      "viewCenter": {
+        "x": -0.24499774196145918,
+        "y": 0.1586485725177541,
+        "z": -0.4298032611695032
+      },
+      "contentRect": {
+        "x": 0,
+        "y": 0,
+        "width": 987,
+        "height": 803
+      },
+      "scale": 1
+    },
     "19323c5d-5d36-438a-86ee-8288c690e5b0": {
       "position": {
-        "x": 32.399901592705945,
-        "y": 32.399901592705945,
-        "z": 32.399901592705945
+        "x": 31.35641749741183,
+        "y": 31.35641749741183,
+        "z": 31.356417497411826
       },
       "rotation": {
         "x": -0.27984814233312133,
@@ -1266,7 +1266,7 @@
       "position": {
         "x": 458.54077502013865,
         "y": 861.4995920248934,
-        "z": 2802.560818713639
+        "z": 2413.828024959584
       },
       "rotation": {
         "x": 0,
@@ -1326,7 +1326,6 @@
     "9b276317-137b-47c3-846f-5adaae548eff",
     "f631c866-c36b-443f-a8c0-a895176b7610",
     "cd016e58-b005-459a-b3dc-4fecf918e910",
-    "7cef9a87-b169-4934-a57b-09eafc129e91",
     "4016d2f3-3394-44fc-bad6-360527bec65d",
     "02aebe80-4488-4c7d-9cc6-5b71a0f5351d",
     "417b4aed-fd34-4100-83be-01eb628cd9f1",
@@ -1336,6 +1335,7 @@
     "d6678b55-2635-45df-bdce-51e04632740e",
     "b4b51e26-8df9-4c27-a300-00e08cb27bd6",
     "773de0b0-468b-4fbb-965c-36c47d7a4c94",
+    "7cef9a87-b169-4934-a57b-09eafc129e91",
     "19323c5d-5d36-438a-86ee-8288c690e5b0",
     "9e293cde-e27b-4902-808b-e884f3e9da32",
     "be14c61f-22d8-4bb9-b444-ad9f29740469"