From 0540f8a0a48b411045ef05d5d6ecbab49b0dc36e Mon Sep 17 00:00:00 2001 From: chendian <-> Date: Fri, 24 Nov 2023 01:17:49 +0800 Subject: [PATCH] =?UTF-8?q?hud=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saved_state.json | 4 +++- config/character/monster02.tres | 2 +- resource/ui/hud/_hud_design.png | Bin 2066 -> 3350 bytes scene/ui/hud_screen.tscn | 2 +- script/_global/setting.gd | 5 +++-- script/_global/util.gd | 14 ++++++-------- script/character/battle.gd | 6 +++--- 7 files changed, 17 insertions(+), 16 deletions(-) diff --git a/addons/resources_spreadsheet_view/saved_state.json b/addons/resources_spreadsheet_view/saved_state.json index 2958890..2aed6aa 100644 --- a/addons/resources_spreadsheet_view/saved_state.json +++ b/addons/resources_spreadsheet_view/saved_state.json @@ -6,7 +6,9 @@ }, "res://config/character/": { "resource_local_to_scene": true, - "resource_name": true + "resource_name": true, + "sprite_harf_height": true, + "sprite_width": true }, "res://config/character_move/": { "resource_local_to_scene": true, diff --git a/config/character/monster02.tres b/config/character/monster02.tres index e6c88db..debf4af 100644 --- a/config/character/monster02.tres +++ b/config/character/monster02.tres @@ -18,5 +18,5 @@ move = ExtResource("1_hjl2t") shield = ExtResource("4_uyg17") stun = ExtResource("6_vlmkd") mp = ExtResource("2_gly3h") -hp_max = 200.0 +hp_max = 1000.0 attack = 10.0 diff --git a/resource/ui/hud/_hud_design.png b/resource/ui/hud/_hud_design.png index 7eb895bc5c33738cf5ed7e2f7375b436bc2758e2..9b02eef4e8e0099fc99acd19980fcdcca017fa4e 100644 GIT binary patch literal 3350 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 diff --git a/scene/ui/hud_screen.tscn b/scene/ui/hud_screen.tscn index c4d2264..dc54a3f 100644 --- a/scene/ui/hud_screen.tscn +++ b/scene/ui/hud_screen.tscn @@ -34,7 +34,7 @@ _data = { [sub_resource type="ShaderMaterial" id="ShaderMaterial_b5bdl"] shader = ExtResource("9_lv4gd") shader_parameter/in_color = null -shader_parameter/position = -1.46 +shader_parameter/position = 1.0 shader_parameter/size = Vector2(32, 32) shader_parameter/screen_size = Vector2(640, 360) diff --git a/script/_global/setting.gd b/script/_global/setting.gd index b05f690..f7228be 100644 --- a/script/_global/setting.gd +++ b/script/_global/setting.gd @@ -2,6 +2,7 @@ extends Node3D #基本信息 const pixel_size : float = 0.02 +const grid_pixel_size : float = 32 #技能系统 const input_alive_time : float = 0.5 @@ -11,7 +12,7 @@ const drag_ground : float = 20 const drag_air : float = 5 #地图 -const starting_level : String = "level01_forecourt.tscn" -#const starting_level : String = "level00_test1.tscn" +#const starting_level : String = "level01_forecourt.tscn" +const starting_level : String = "level00_test1.tscn" const level_loading_min_time : float = 0.5 const level_loading_control_time : float = 0.2 diff --git a/script/_global/util.gd b/script/_global/util.gd index db27a58..1459034 100644 --- a/script/_global/util.gd +++ b/script/_global/util.gd @@ -1,14 +1,12 @@ @tool extends Node3D -func get_resource_name(resource:Resource) -> String: - return resource.resource_path.get_file().trim_suffix('.tres') #todo 性能 - -func snap_vector3(value:Vector3) -> Vector3: - return Vector3(snap_float(value.x),snap_float(value.y),snap_float(value.z)) - -func snap_float(value:float) -> float: - return floor(value/Setting.pixel_size) * Setting.pixel_size +func get_resource_name(resource:Resource) -> String:return resource.resource_path.get_file().trim_suffix('.tres') #todo 性能 +func snap_vector3(value:Vector3) -> Vector3:return Vector3(snap_float(value.x),snap_float(value.y),snap_float(value.z)) +func snap_float(value:float) -> float:return floor(value/Setting.pixel_size) * Setting.pixel_size +func grid_vector3(value:Vector3) -> Vector3:return Vector3(grid_float(value.x),grid_float(value.y),grid_float(value.z)) +func grid_vector2(value:Vector2) -> Vector2:return Vector2(grid_float(value.x),grid_float(value.y)) +func grid_float(value:float) -> float:return Setting.pixel_size * Setting.grid_pixel_size * value func vector_reduce(vector:Vector2,reduce:float) -> Vector2: var len = vector.length() diff --git a/script/character/battle.gd b/script/character/battle.gd index aab0bd5..95c2147 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -27,10 +27,10 @@ func attack(): var pos = character.pos() var attack_dir = status.skill_dir.normalized() var attack_height = attack.height - var attack_size = attack.size + var attack_size = Util.grid_vector2(attack.size) var attack_radius = attack.radius - var offset_xz = attack_dir * attack.offset.x - pos += Vector3(offset_xz.x,attack.offset.y,offset_xz.y) + 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) for enemy in enemy_list: var target_pos = enemy.pos() var target_radius = enemy.radius()