From 547e059c5bc50497c3172fff855cb248ed983f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Mon, 8 Sep 2025 22:35:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=AD=90=E5=BC=B9=E7=B3=BB=E7=BB=9F):=20?= =?UTF-8?q?=E5=B0=86=E5=AD=90=E5=BC=B9=E6=B7=BB=E5=8A=A0=E5=88=B0=E5=AD=90?= =?UTF-8?q?=E5=BC=B9=E7=BB=84=E5=B9=B6=E8=B0=83=E6=95=B4KukeMC=E7=9A=84?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在BulletBase.gd中为生成的子弹实例添加"bullets"组 - 修改KukeMC.gd的ai逻辑,改为检测"bullets"组而非"bullet"组 - 调整KukeMC的子弹检测距离从100增加到200 - 移除KukeMC对bosses组的检测逻辑 - 在Wave.gd中将默认数据改为testBoss波次并添加KukeMC - 为KukeMC场景添加脚本并设置初始生命值 --- components/Characters/KukeMC.tscn | 4 +++- scripts/Contents/Characters/KukeMC.gd | 12 ++++-------- scripts/Contents/Wave.gd | 7 ++++--- scripts/Statemachine/BulletBase.gd | 1 + 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/components/Characters/KukeMC.tscn b/components/Characters/KukeMC.tscn index 135be5f..ed9d7f2 100644 --- a/components/Characters/KukeMC.tscn +++ b/components/Characters/KukeMC.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://d4lfjwy0hkidu"] +[gd_scene load_steps=5 format=3 uid="uid://d4lfjwy0hkidu"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_r4q7y"] [ext_resource type="Texture2D" uid="uid://c1jhrutky8pya" path="res://resources/characters/kukemc/avatar.webp" id="2_422pv"] +[ext_resource type="Script" path="res://scripts/Contents/Characters/KukeMC.gd" id="2_s2dg5"] [sub_resource type="SpriteFrames" id="SpriteFrames_1c0ui"] animations = [{ @@ -23,6 +24,7 @@ animations = [{ }] [node name="KukeMC" instance=ExtResource("1_r4q7y")] +script = ExtResource("2_s2dg5") displayName = "酷可mc" [node name="texture" parent="." index="2"] diff --git a/scripts/Contents/Characters/KukeMC.gd b/scripts/Contents/Characters/KukeMC.gd index cdcaefb..36e8af8 100644 --- a/scripts/Contents/Characters/KukeMC.gd +++ b/scripts/Contents/Characters/KukeMC.gd @@ -1,15 +1,11 @@ extends EntityBase class_name KukeMC +func register(): + fields[FieldStore.Entity.MAX_HEALTH] = 1000 func ai(): - for bullet in get_tree().get_nodes_in_group("bullet"): + for bullet in get_tree().get_nodes_in_group("bullets"): if ( bullet is LGBTBullet and - bullet.position.distance_to(self.position) < 100 + bullet.position.distance_to(self.position) < 200 ): bullet.tryDestroy() - for entity in get_tree().get_nodes_in_group("bosses"): - if ( - entity.name == "FurryR" and - entity.position.distance_to(self.position) < 100 - ): - entity.takeDamage(114514) \ No newline at end of file diff --git a/scripts/Contents/Wave.gd b/scripts/Contents/Wave.gd index 3a06cd4..c583997 100644 --- a/scripts/Contents/Wave.gd +++ b/scripts/Contents/Wave.gd @@ -17,11 +17,12 @@ static var presetWaves = { create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 19, INF, 10), ], "testBoss": [ - create(preload("res://components/Characters/Chick.tscn"), 1, 1, true, 0, INF, 1), - create(preload("res://components/Characters/Bear.tscn"), 1, 1, true, 0, INF, 1), + # create(preload("res://components/Characters/Chick.tscn"), 1, 1, true, 0, INF, 1), + # create(preload("res://components/Characters/Bear.tscn"), 1, 1, true, 0, INF, 1), + create(preload("res://components/Characters/KukeMC.tscn"), 1, 1, true, 0, INF, 1), ] } -static var data = presetWaves["normal"] +static var data = presetWaves["testBoss"] static func create( entity_: PackedScene, diff --git a/scripts/Statemachine/BulletBase.gd b/scripts/Statemachine/BulletBase.gd index 26eb64a..061fb1f 100644 --- a/scripts/Statemachine/BulletBase.gd +++ b/scripts/Statemachine/BulletBase.gd @@ -156,5 +156,6 @@ static func generate( instance.rotation = spawnRotation + deg_to_rad(randf_range(-launchBy.fields.get(FieldStore.Entity.OFFSET_SHOOT), launchBy.fields.get(FieldStore.Entity.OFFSET_SHOOT))) if addToWorld: WorldManager.rootNode.call_deferred("add_child", instance) + instance.add_to_group("bullets") instances.append(instance) return instances