From c486fc28cf70fd63cefaae210f0c5f84d8a4ad17 Mon Sep 17 00:00:00 2001 From: chendian <-> Date: Fri, 8 Dec 2023 03:53:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E7=94=BB=E5=B8=A7=E6=95=B0=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/attack/normal_hit.tres | 6 +- .../hero01_long_air_attack01.tres | 3 +- .../hero01_long_air_attack02.tres | 3 +- .../hero01_long_air_attack03.tres | 3 +- config/player_skill/hero01_long_attack01.tres | 6 +- config/player_skill/hero01_long_attack02.tres | 3 +- config/player_skill/hero01_long_attack03.tres | 3 +- config/player_skill/hero01_long_attack04.tres | 3 +- config/player_skill/hero01_long_flash.tres | 2 +- config/player_skill/hero01_long_skill01.tres | 3 +- config/player_skill/hero01_long_skill02.tres | 3 +- .../player_skill/hero01_short_attack01.tres | 2 +- .../player_skill/hero01_short_attack02.tres | 2 +- .../player_skill/hero01_short_attack03.tres | 2 +- .../player_skill/hero01_short_attack04.tres | 2 +- render/shader/character.gdshader | 4 - .../character/hero01_long_attack.aseprite | Bin 54370 -> 55288 bytes .../character/hero01_long_attack.png | Bin 33565 -> 33911 bytes resource/mesh_library/mesh_library.tres | 124 +++++++++--------- .../skill_animation/hero01_long_attack01.tres | 59 ++++----- script/_global/setting.gd | 1 + script/_global/util.gd | 53 +++++++- script/character/battle.gd | 7 +- script/character/skill.gd | 6 + script/config/animation_select_cfg.gd | 8 +- script/config/skill_cfg.gd | 36 ++--- 26 files changed, 198 insertions(+), 146 deletions(-) diff --git a/config/attack/normal_hit.tres b/config/attack/normal_hit.tres index d87765f..11d5bd7 100644 --- a/config/attack/normal_hit.tres +++ b/config/attack/normal_hit.tres @@ -11,7 +11,11 @@ hit_back_speed = 2.0 hit_back_duration = 0.05 hit_up_speed = 1.0 hit_up_duration = 0.05 -pause_time = 0.05 +pause_time = 0.2 is_floating = false is_hit_down = false is_rebound = false +height = 2.0 +radius = 0.0 +size = Vector2(2, 1) +offset = Vector2(1, 0) diff --git a/config/player_skill/hero01_long_air_attack01.tres b/config/player_skill/hero01_long_air_attack01.tres index f2e9617..4426645 100644 --- a/config/player_skill/hero01_long_air_attack01.tres +++ b/config/player_skill/hero01_long_air_attack01.tres @@ -16,6 +16,7 @@ action = "attack_light" name = "" skill_animation = ExtResource("3_3pp8a") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_mxlqc")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("4_q0bln") +sprite_frames = ExtResource("4_q0bln") animation_name = "long_air_attack01" diff --git a/config/player_skill/hero01_long_air_attack02.tres b/config/player_skill/hero01_long_air_attack02.tres index 746db42..11cd42c 100644 --- a/config/player_skill/hero01_long_air_attack02.tres +++ b/config/player_skill/hero01_long_air_attack02.tres @@ -16,6 +16,7 @@ action = "attack_light" name = "" skill_animation = ExtResource("3_76yga") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_qfkyy")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("4_ahm2t") +sprite_frames = ExtResource("4_ahm2t") animation_name = "long_air_attack02" diff --git a/config/player_skill/hero01_long_air_attack03.tres b/config/player_skill/hero01_long_air_attack03.tres index 05cbdf0..990f3c5 100644 --- a/config/player_skill/hero01_long_air_attack03.tres +++ b/config/player_skill/hero01_long_air_attack03.tres @@ -16,6 +16,7 @@ action = "attack_light" name = "" skill_animation = ExtResource("3_1erk8") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_x3v4o")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("4_wrd60") +sprite_frames = ExtResource("4_wrd60") animation_name = "long_air_attack03" diff --git a/config/player_skill/hero01_long_attack01.tres b/config/player_skill/hero01_long_attack01.tres index 118e1e0..514b5ac 100644 --- a/config/player_skill/hero01_long_attack01.tres +++ b/config/player_skill/hero01_long_attack01.tres @@ -5,7 +5,7 @@ [ext_resource type="Animation" uid="uid://daopmieibx3b7" path="res://resource/skill_animation/hero01_long_attack01.tres" id="2_6nbpq"] [ext_resource type="PackedScene" uid="uid://b2h4pcmlii7dg" path="res://scene/effect/particle/particle_slash_normal.tscn" id="2_f3mmj"] [ext_resource type="Resource" uid="uid://cy3wwalxeyro0" path="res://config/weapon/long.tres" id="4_id85o"] -[ext_resource type="SpriteFrames" uid="uid://cndpnxtdh37ii" path="res://resource/animation/character/hero01_short_attack.aseprite" id="5_nk6nw"] +[ext_resource type="SpriteFrames" uid="uid://ce83cuqwgwwi4" path="res://resource/animation/character/hero01_long_attack.aseprite" id="5_xel5p"] [resource] script = ExtResource("1_gik08") @@ -20,5 +20,5 @@ attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource( attack_particle = ExtResource("2_f3mmj") free_lock = false refresh_animation = false -sprite_frams = ExtResource("5_nk6nw") -animation_name = "short_attack01" +sprite_frames = ExtResource("5_xel5p") +animation_name = "long_attack01" diff --git a/config/player_skill/hero01_long_attack02.tres b/config/player_skill/hero01_long_attack02.tres index 0c3207a..d6e2489 100644 --- a/config/player_skill/hero01_long_attack02.tres +++ b/config/player_skill/hero01_long_attack02.tres @@ -16,6 +16,7 @@ action = "attack_light" name = "" skill_animation = ExtResource("2_jrgan") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_8fm1u")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("3_jidy7") +sprite_frames = ExtResource("3_jidy7") animation_name = "long_attack02" diff --git a/config/player_skill/hero01_long_attack03.tres b/config/player_skill/hero01_long_attack03.tres index 788312c..2945f47 100644 --- a/config/player_skill/hero01_long_attack03.tres +++ b/config/player_skill/hero01_long_attack03.tres @@ -16,6 +16,7 @@ action = "attack_light" name = "" skill_animation = ExtResource("2_ugt3f") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_7ai5j")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("3_sr2og") +sprite_frames = ExtResource("3_sr2og") animation_name = "long_attack03" diff --git a/config/player_skill/hero01_long_attack04.tres b/config/player_skill/hero01_long_attack04.tres index 55ff1ae..fd3535b 100644 --- a/config/player_skill/hero01_long_attack04.tres +++ b/config/player_skill/hero01_long_attack04.tres @@ -16,6 +16,7 @@ action = "attack_light" name = "" skill_animation = ExtResource("2_sam6s") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_7tise")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("3_w7h1m") +sprite_frames = ExtResource("3_w7h1m") animation_name = "long_attack04" diff --git a/config/player_skill/hero01_long_flash.tres b/config/player_skill/hero01_long_flash.tres index 577f2ac..88e88ca 100644 --- a/config/player_skill/hero01_long_flash.tres +++ b/config/player_skill/hero01_long_flash.tres @@ -17,5 +17,5 @@ skill_animation = ExtResource("2_bdxlh") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([]) free_lock = true refresh_animation = false -sprite_frams = ExtResource("2_uof6p") +sprite_frames = ExtResource("2_uof6p") animation_name = "long_flash" diff --git a/config/player_skill/hero01_long_skill01.tres b/config/player_skill/hero01_long_skill01.tres index a79c6b6..dea905f 100644 --- a/config/player_skill/hero01_long_skill01.tres +++ b/config/player_skill/hero01_long_skill01.tres @@ -16,6 +16,7 @@ action = "attack_heavy" name = "" skill_animation = ExtResource("2_ewts2") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_p5wrw")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("3_qwjfl") +sprite_frames = ExtResource("3_qwjfl") animation_name = "long_skill01" diff --git a/config/player_skill/hero01_long_skill02.tres b/config/player_skill/hero01_long_skill02.tres index 1255e3e..33615d9 100644 --- a/config/player_skill/hero01_long_skill02.tres +++ b/config/player_skill/hero01_long_skill02.tres @@ -16,6 +16,7 @@ action = "attack_heavy" name = "" skill_animation = ExtResource("3_b7s0y") attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_edtv7")]) +free_lock = false refresh_animation = false -sprite_frams = ExtResource("4_rbnly") +sprite_frames = ExtResource("4_rbnly") animation_name = "long_skill02" diff --git a/config/player_skill/hero01_short_attack01.tres b/config/player_skill/hero01_short_attack01.tres index e2ab7f6..9bfd381 100644 --- a/config/player_skill/hero01_short_attack01.tres +++ b/config/player_skill/hero01_short_attack01.tres @@ -20,5 +20,5 @@ attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource( attack_particle = ExtResource("2_vsxc2") free_lock = false refresh_animation = false -sprite_frams = ExtResource("5_8vcrr") +sprite_frames = ExtResource("5_8vcrr") animation_name = "short_attack01" diff --git a/config/player_skill/hero01_short_attack02.tres b/config/player_skill/hero01_short_attack02.tres index b588971..e8d4b27 100644 --- a/config/player_skill/hero01_short_attack02.tres +++ b/config/player_skill/hero01_short_attack02.tres @@ -20,5 +20,5 @@ attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource( attack_particle = ExtResource("2_kal4c") free_lock = false refresh_animation = false -sprite_frams = ExtResource("5_dxfya") +sprite_frames = ExtResource("5_dxfya") animation_name = "short_attack02" diff --git a/config/player_skill/hero01_short_attack03.tres b/config/player_skill/hero01_short_attack03.tres index c62d974..cb64972 100644 --- a/config/player_skill/hero01_short_attack03.tres +++ b/config/player_skill/hero01_short_attack03.tres @@ -20,5 +20,5 @@ attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource( attack_particle = ExtResource("2_dp0ac") free_lock = false refresh_animation = false -sprite_frams = ExtResource("5_40215") +sprite_frames = ExtResource("5_40215") animation_name = "short_attack03" diff --git a/config/player_skill/hero01_short_attack04.tres b/config/player_skill/hero01_short_attack04.tres index 45d7eed..62fb746 100644 --- a/config/player_skill/hero01_short_attack04.tres +++ b/config/player_skill/hero01_short_attack04.tres @@ -20,5 +20,5 @@ attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource( attack_particle = ExtResource("2_hs5u3") free_lock = false refresh_animation = false -sprite_frams = ExtResource("5_owk7o") +sprite_frames = ExtResource("5_owk7o") animation_name = "short_attack04" diff --git a/render/shader/character.gdshader b/render/shader/character.gdshader index ba2bcf4..ec51126 100644 --- a/render/shader/character.gdshader +++ b/render/shader/character.gdshader @@ -27,8 +27,4 @@ void fragment() { } ALBEDO = col.rgb; ALPHA = 1.0; -} - -void light() { - DIFFUSE_LIGHT = vec3(0, 0, 0); } \ No newline at end of file diff --git a/resource/animation/character/hero01_long_attack.aseprite b/resource/animation/character/hero01_long_attack.aseprite index 34747f3c080ea1e57144f21f53810ae93df08348..a8e70c3f3b3ba1026078ae42e94dcffc983b63ae 100644 GIT binary patch delta 831 zcmaE~g89dKX7(S~85kZcb)U#y$@_tWf#KIjIffJl1_rr}y~@n>e}F6r1$H0_0gMb> zFeZfNWys0TOOH=1DM?JuHZbI75XL8OB*Gw%Pu^I8K^s|KgnIMb|Ee0`$iaBR5Y!qxT;9+*ipWr&T6 zyIMcZpKXT32@}=INn9<<-(1_fVC~G(lPezlRp&f%#conrh3owv88dF3_sX2Q*;;qn z8neS2KC)-8I=X1;OEu{o4EbCZ*9#dY7mKc`p8$3PJA)a66OtQ5fiY4sC-;J*P=f-{ z4RJU3IQE}0`Mb}NMeEjMr=YeV6P1OU>lO3W>^!WD`Ag>2&v<0_`MA@W)z1UgSC}ZZ zu9mRYDz8>~<=+!^S?KeNR%6~7=PT0tZCcybl~Ld*>o_OoX|+ zsdd6p35gBdjV_W5|GtVS&IcRA$zZ{t4+{01Y%rgP!HdBT$)EBJl0akUUg+jzP~>60 zkT>(MdEkn!Z<8As9p5dTmm${t33|)^%g*y(-X*;5bgi*?(5jiIX1o2q|EcWI z)jbxmRXQKGul}M}k~gKi)0oXGCOkqB6uFz%2?a7TnokmW$S6AbpkO|u*k(f^!$SZH CQS!wA delta 247 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 T=bmQ>c)gcYl&BIj4ETQl*Z+WE literal 33565 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 0: + animation.remove_track(track_frame) + track_frame = animation.add_track(Animation.TYPE_VALUE) + animation.track_set_path(track_frame,"View:frame") + var animation_speed = Setting.animation_frame_rate + var animation_frame_count = sprite_frames.get_frame_count(animation_name) + animation.length = animation_speed*animation_frame_count + for i in range(0,animation_frame_count): + var time = i * animation_speed + animation.track_insert_key(track_frame,time,i) + print("refresh_animation: ",animation_name ,"(",animation_frame_count, " frames)") + ResourceSaver.save(animation,animation_path) + func get_all_player_skill(): var ret = [] var dir_path = "res://config/player_skill" diff --git a/script/character/battle.gd b/script/character/battle.gd index 678182d..669e30f 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -3,6 +3,7 @@ class_name Battle @onready var character = (get_owner() as Character) @onready var status = (%Status as Status) +@onready var skill = (%Skill as Skill) class HitInfo: var from : int @@ -29,8 +30,9 @@ func attack(): var attack_height = attack.height var attack_size = Util.grid_vector2(attack.size) var attack_radius = attack.radius - var offset_xz = attack_dir * Util.grid_float(attack.offset.x) + var offset_xz = attack_dir * Util.grid_float(attack.offset.x) pos += Vector3(offset_xz.x,Util.grid_float(attack.offset.y),offset_xz.y) + var is_hit = false for enemy in enemy_list: var target_pos = enemy.pos() var target_radius = enemy.radius() @@ -42,6 +44,9 @@ func attack(): hit_info.dir = attack_dir hit_info.attack = attack hit_info_list.append(hit_info) + is_hit = true + if not is_hit: + skill.on_attack_miss() func add_attack(from:int,dir:Vector2,attack:AttackCfg): var hit_info = HitInfo.new() diff --git a/script/character/skill.gd b/script/character/skill.gd index 423ada1..28e3a43 100644 --- a/script/character/skill.gd +++ b/script/character/skill.gd @@ -52,5 +52,11 @@ func cancel_skill(): effect.release_effect() view.reset() +func on_attack_miss(): + # 攻击未命中时跳帧 + var position_int = int(current_animation_position / Setting.animation_frame_rate) + var position_next_frame = (position_int + 1) * Setting.animation_frame_rate + seek(position_next_frame,true) + func _on_animation_finished(_anim_name): cancel_skill() diff --git a/script/config/animation_select_cfg.gd b/script/config/animation_select_cfg.gd index 2dbb85b..337b156 100644 --- a/script/config/animation_select_cfg.gd +++ b/script/config/animation_select_cfg.gd @@ -2,17 +2,17 @@ extends Resource class_name AnimationSelectCfg -@export var sprite_frams : SpriteFrames : +@export var sprite_frames : SpriteFrames : set(value): - sprite_frams = value + sprite_frames = value notify_property_list_changed() var animation_name : String func _get_property_list(): var hint_string = ["none"] - if sprite_frams: - hint_string = ",".join(sprite_frams.get_animation_names()) + if sprite_frames: + hint_string = ",".join(sprite_frames.get_animation_names()) var properties = [] properties.append({ diff --git a/script/config/skill_cfg.gd b/script/config/skill_cfg.gd index ee884cd..0306a31 100644 --- a/script/config/skill_cfg.gd +++ b/script/config/skill_cfg.gd @@ -16,43 +16,25 @@ class_name SkillCfg func check_animation(): var res_name = Util.get_resource_name(self) var skill_animation_path = "res://resource/skill_animation/%s.tres" %res_name - if !ResourceLoader.exists(skill_animation_path): - if !create_animation(res_name,skill_animation_path): - return + if !create_animation(res_name,skill_animation_path): + return skill_animation = load(skill_animation_path) func create_animation(res_name,path) -> bool: - if sprite_frams == null: + if sprite_frames == null: print("未设置技能动画资源") return false if animation_name == "": print("未设置技能动画名") return false - print(animation_name) - if !sprite_frams.has_animation(animation_name): + if !sprite_frames.has_animation(animation_name): print("技能动画名不存在") return false - var animation = Animation.new() - animation.resource_name = res_name - - var track_sprite_frames = animation.add_track(Animation.TYPE_VALUE) - animation.track_set_path(track_sprite_frames,"View:sprite_frames") - animation.track_insert_key(track_sprite_frames,0,sprite_frams) - - var track_animation = animation.add_track(Animation.TYPE_VALUE) - animation.track_set_path(track_animation,"View:animation") - animation.track_insert_key(track_animation,0,animation_name) - - var track_frame = animation.add_track(Animation.TYPE_VALUE) - animation.track_set_path(track_frame,"View:frame") - var animation_speed = 0.1 - var animation_frame_count = sprite_frams.get_frame_count(animation_name) - animation.length = animation_speed*animation_frame_count - for i in range(0,animation_frame_count): - var time = i * animation_speed - animation.track_insert_key(track_frame,time,i) - - ResourceSaver.save(animation,path) + var animation = ResourceLoader.load(path) as Animation + if not animation: + animation = Animation.new() + animation.resource_name = res_name + Util.refresh_animation_by_sprite_frames(path,sprite_frames,animation_name,animation) Util.refresh_animation_lib() return true