From 2105de11317c7bbe345f7ca73f71d401d309f95a 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: Sat, 28 Mar 2026 09:47:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=AD=90=E5=BC=B9=E7=B3=BB=E7=BB=9F):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0Egg=E5=AD=90=E5=BC=B9=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=85=B3=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加新的Egg子弹类型,包括脚本、纹理和场景文件。更新Kernyr角色的攻击逻辑以使用Egg子弹。新增篮球和雷电纹理资源及其导入配置。 --- components/Bullets/Egg.tscn | 64 +++++++++++++++++++ resources/bullets/Thunder/thunder.png | Bin 0 -> 22515 bytes resources/bullets/Thunder/thunder.png.import | 40 ++++++++++++ resources/bullets/Thunder/篮球.svg | 1 + resources/bullets/Thunder/篮球.svg.import | 43 +++++++++++++ scripts/Contents/Bullets/Egg.gd | 6 ++ scripts/Contents/Bullets/Egg.gd.uid | 1 + scripts/Contents/Characters/Kernyr.gd | 4 +- 8 files changed, 157 insertions(+), 2 deletions(-) create mode 100644 components/Bullets/Egg.tscn create mode 100644 resources/bullets/Thunder/thunder.png create mode 100644 resources/bullets/Thunder/thunder.png.import create mode 100644 resources/bullets/Thunder/篮球.svg create mode 100644 resources/bullets/Thunder/篮球.svg.import create mode 100644 scripts/Contents/Bullets/Egg.gd create mode 100644 scripts/Contents/Bullets/Egg.gd.uid diff --git a/components/Bullets/Egg.tscn b/components/Bullets/Egg.tscn new file mode 100644 index 0000000..64087d5 --- /dev/null +++ b/components/Bullets/Egg.tscn @@ -0,0 +1,64 @@ +[gd_scene load_steps=11 format=3 uid="uid://df67upy2qhwng"] + +[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_q6qy4"] +[ext_resource type="Script" uid="uid://cyaq3u5iu08uo" path="res://scripts/Contents/Bullets/Egg.gd" id="2_6esgc"] +[ext_resource type="Texture2D" uid="uid://dn1rrlcltalbw" path="res://resources/bullets/Thunder/篮球.svg" id="3_6esgc"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_6esgc"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("3_6esgc") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="Curve" id="Curve_6esgc"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_m48vu"] +curve = SubResource("Curve_6esgc") + +[sub_resource type="Curve" id="Curve_qotgv"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.7), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_jb1ir"] +curve = SubResource("Curve_qotgv") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_l0xv4"] +particle_flag_disable_z = true +direction = Vector3(0, 1, 0) +spread = 0.0 +initial_velocity_min = 200.0 +initial_velocity_max = 200.0 +gravity = Vector3(0, 0, 0) +scale_min = 0.79999995 +scale_max = 0.79999995 +scale_curve = SubResource("CurveTexture_jb1ir") +alpha_curve = SubResource("CurveTexture_m48vu") + +[sub_resource type="CircleShape2D" id="CircleShape2D_m48vu"] +radius = 24.0 + +[node name="Egg" instance=ExtResource("1_q6qy4")] +script = ExtResource("2_6esgc") +speed = 0.0 +lifeTime = 3000.0 + +[node name="texture" parent="." index="0"] +rotation = 1.5707964 +scale = Vector2(1.25, 1.25) +sprite_frames = SubResource("SpriteFrames_6esgc") + +[node name="trail2" type="GPUParticles2D" parent="texture" index="1"] +z_index = -1 +texture = ExtResource("3_6esgc") +local_coords = true +process_material = SubResource("ParticleProcessMaterial_l0xv4") + +[node name="hitbox" parent="." index="1"] +shape = SubResource("CircleShape2D_m48vu") diff --git a/resources/bullets/Thunder/thunder.png b/resources/bullets/Thunder/thunder.png new file mode 100644 index 0000000000000000000000000000000000000000..bc8d779984da3c50fa9587e7f8cb1e24dae00fe0 GIT binary patch literal 22515 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 \ No newline at end of file diff --git a/resources/bullets/Thunder/篮球.svg.import b/resources/bullets/Thunder/篮球.svg.import new file mode 100644 index 0000000..44e74b2 --- /dev/null +++ b/resources/bullets/Thunder/篮球.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dn1rrlcltalbw" +path="res://.godot/imported/篮球.svg-703ccac0ca8b985f7bb4cd4509f87b99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/bullets/Thunder/篮球.svg" +dest_files=["res://.godot/imported/篮球.svg-703ccac0ca8b985f7bb4cd4509f87b99.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/scripts/Contents/Bullets/Egg.gd b/scripts/Contents/Bullets/Egg.gd new file mode 100644 index 0000000..2defa6e --- /dev/null +++ b/scripts/Contents/Bullets/Egg.gd @@ -0,0 +1,6 @@ +extends BulletBase +class_name EggBullet + +func ai(): + speed += 0.25 + PresetBulletAI.forward(self , rotation) diff --git a/scripts/Contents/Bullets/Egg.gd.uid b/scripts/Contents/Bullets/Egg.gd.uid new file mode 100644 index 0000000..6c59ee8 --- /dev/null +++ b/scripts/Contents/Bullets/Egg.gd.uid @@ -0,0 +1 @@ +uid://cyaq3u5iu08uo diff --git a/scripts/Contents/Characters/Kernyr.gd b/scripts/Contents/Characters/Kernyr.gd index 7472326..8c1f7a0 100644 --- a/scripts/Contents/Characters/Kernyr.gd +++ b/scripts/Contents/Characters/Kernyr.gd @@ -45,12 +45,12 @@ func attack(type: int): for i in count: await sprintTo(anchor + Vector2.from_angle(deg_to_rad(i / count * 360.0 - 90)) * radius, 0.5) for bullet in BulletBase.generate( - ComponentManager.getBullet("Yangyi"), + ComponentManager.getBullet("Egg"), self , position, 0 ): - if bullet is YangyiBullet: + if bullet is EggBullet: bullet.look_at(anchor) await TickTool.millseconds(2000) await chargeUp()