From f91e43aed1e34d0ed4503422853b8a9e7f2b138e 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: Sun, 21 Sep 2025 15:00:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=AD=A6=E5=99=A8):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=93=BE=E5=BC=8F=E6=9C=BA=E6=9E=AA=E6=AD=A6=E5=99=A8=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增链式机枪武器脚本和场景文件,包含攻击逻辑和UI显示 将VerticalColorBar.tscn移动到UI目录并更新引用 在公鸡角色中添加链式机枪作为可选武器 --- components/Characters/Rooster.tscn | 16 +++++++----- components/Scenes/UI.tscn | 2 +- components/{ => UI}/VerticalColorBar.tscn | 0 components/Weapons/ChainGun.tscn | 30 +++++++++++++++++++++++ scripts/Contents/Weapons/ChainGun.gd | 10 ++++++++ 5 files changed, 51 insertions(+), 7 deletions(-) rename components/{ => UI}/VerticalColorBar.tscn (100%) create mode 100644 components/Weapons/ChainGun.tscn create mode 100644 scripts/Contents/Weapons/ChainGun.gd diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index c9fb5f8..cf47f00 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=18 format=3 uid="uid://bm7ymrri6pykb"] +[gd_scene load_steps=19 format=3 uid="uid://bm7ymrri6pykb"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] [ext_resource type="Script" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] @@ -6,6 +6,7 @@ [ext_resource type="AudioStream" uid="uid://dclinyhu256xi" path="res://resources/sounds/effect/Low Whoosh.mp3" id="3_4syso"] [ext_resource type="Texture2D" uid="uid://ci2ik43ce82uy" path="res://resources/characters/cock/rooster-b.svg" id="3_b0fgx"] [ext_resource type="PackedScene" uid="uid://frwt0fgrpskb" path="res://components/Weapons/Meowmere.tscn" id="3_e2rag"] +[ext_resource type="PackedScene" uid="uid://dlaks67h2osms" path="res://components/Weapons/ChainGun.tscn" id="3_fnlro"] [ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="3_ms5sq"] [ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"] [ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"] @@ -48,18 +49,21 @@ displayName = "公鸡" [node name="weaponStore" parent="." index="0"] process_mode = 4 -[node name="Meowmere" parent="weaponStore" index="0" instance=ExtResource("3_e2rag")] +[node name="ChainGun" parent="weaponStore" index="0" instance=ExtResource("3_fnlro")] +debugRebuild = false + +[node name="Meowmere" parent="weaponStore" index="1" instance=ExtResource("3_e2rag")] offset_bottom = 315.0 -[node name="PurpleCrystal" parent="weaponStore" index="1" instance=ExtResource("3_ms5sq")] +[node name="PurpleCrystal" parent="weaponStore" index="2" instance=ExtResource("3_ms5sq")] debugRebuild = false -[node name="VectorStar" parent="weaponStore" index="2" instance=ExtResource("6_fvy5n")] +[node name="VectorStar" parent="weaponStore" index="3" instance=ExtResource("6_fvy5n")] debugRebuild = false -[node name="LGBT" parent="weaponStore" index="3" instance=ExtResource("4_pb8qn")] +[node name="LGBT" parent="weaponStore" index="4" instance=ExtResource("4_pb8qn")] -[node name="BigLaser" parent="weaponStore" index="4" instance=ExtResource("4_plqwu")] +[node name="BigLaser" parent="weaponStore" index="5" instance=ExtResource("4_plqwu")] [node name="sprint" parent="sounds" index="0"] stream = ExtResource("4_66s6c") diff --git a/components/Scenes/UI.tscn b/components/Scenes/UI.tscn index c499d03..0f691ca 100644 --- a/components/Scenes/UI.tscn +++ b/components/Scenes/UI.tscn @@ -8,7 +8,7 @@ [ext_resource type="StyleBox" uid="uid://8pg3ry3y5wjv" path="res://styleboxes/centerRight.tres" id="5_3hym1"] [ext_resource type="PackedScene" uid="uid://beo6s1kudbbve" path="res://components/Scenes/FullscreenPanels/GameOver.tscn" id="6_10ay6"] [ext_resource type="Texture2D" uid="uid://k13cte17httt" path="res://resources/items/energy.svg" id="7_2om12"] -[ext_resource type="PackedScene" uid="uid://b07gqo6df0r5y" path="res://components/VerticalColorBar.tscn" id="8_f4j2b"] +[ext_resource type="PackedScene" uid="uid://b07gqo6df0r5y" path="res://components/UI/VerticalColorBar.tscn" id="8_f4j2b"] [ext_resource type="StyleBox" uid="uid://ddnjus87wwlm8" path="res://styleboxes/leftPanel.tres" id="11_67ghp"] [ext_resource type="PackedScene" uid="uid://cksonrrx38k36" path="res://components/Scenes/FullscreenPanels/Pause.tscn" id="12_jkm6o"] [ext_resource type="PackedScene" uid="uid://dekcqdhrjs07u" path="res://components/Scenes/FullscreenPanels/Weapon.tscn" id="13_bmc24"] diff --git a/components/VerticalColorBar.tscn b/components/UI/VerticalColorBar.tscn similarity index 100% rename from components/VerticalColorBar.tscn rename to components/UI/VerticalColorBar.tscn diff --git a/components/Weapons/ChainGun.tscn b/components/Weapons/ChainGun.tscn new file mode 100644 index 0000000..e738dec --- /dev/null +++ b/components/Weapons/ChainGun.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=4 format=3 uid="uid://dlaks67h2osms"] + +[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_x1nyl"] +[ext_resource type="Texture2D" uid="uid://ccxdfsg5071t4" path="res://resources/bullets/chain-gun/Chain_Gun.webp" id="2_ghn43"] +[ext_resource type="Script" path="res://scripts/Contents/Weapons/ChainGun.gd" id="2_ponmu"] + +[node name="ChainGun" instance=ExtResource("1_x1nyl")] +script = ExtResource("2_ponmu") +avatarTexture = ExtResource("2_ghn43") +displayName = "链式机枪" +costBeachball = 400 +store = { +"atk": 2 +} +cooldown = 50.0 + +[node name="avatar" parent="container/info" index="0"] +texture = ExtResource("2_ghn43") + +[node name="energy" parent="container/info/infos/energyInfo" index="1"] +text = "1.0" + +[node name="beachball" parent="container/info/infos/beachballInfo" index="1"] +text = "400" + +[node name="name" parent="container/info" index="2"] +displayName = "链式机枪" + +[node name="description" parent="container" index="2"] +text = "[center]造成[color=cyan]2[/color]→[color=yellow]3[/color]点伤害。[/center]" diff --git a/scripts/Contents/Weapons/ChainGun.gd b/scripts/Contents/Weapons/ChainGun.gd new file mode 100644 index 0000000..67500cd --- /dev/null +++ b/scripts/Contents/Weapons/ChainGun.gd @@ -0,0 +1,10 @@ +@tool +extends Weapon + +func update(to, origin, _entity): + origin["atk"] += 1 * to * soulLevel + return origin +func attack(entity: EntityBase): + var weaponPos = entity.findWeaponAnchor("normal") + for i in BulletBase.generate(ComponentManager.getBullet("PurpleCrystalSmall"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle()): + i.damage = readStore("atk")