Compare commits
2 Commits
4a4549f29c
...
03dd736f4f
Author | SHA1 | Date | |
---|---|---|---|
03dd736f4f | |||
6a85f37e7b |
@ -284,8 +284,17 @@ c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,,
|
||||
c03_药方内容,生姜两片{br}竹叶十片去尖{br}经霜三年的甘蔗{br}蟋蟀一对 注:要原配,即本在一窠中者{br}金钱鼠尾辫一副 注:生剪 烧成灰兑水送服,,,,,
|
||||
c03_s04_柜子照片,吾唯一至亲 李二弟,,,,,
|
||||
c03_s06_没贴的寻人启事,没贴的寻人启事,,,,,
|
||||
c03_s07_胖子游戏结束,张文开...文开...{br}方...小蝉...{br}绞肉机...,,,,,
|
||||
c03_s08_囚室绳子,绑得很死,直接解不开绳子。,,,,,
|
||||
c03_s08_囚室醒过来,?这里是,,,,,
|
||||
c03_s08_囚室看到脚印,?又是脚印,,,,,
|
||||
c03_s08_囚室符纸,妖物者,本自造化而生,具灵识,知求生,与万类本无别。人言有异,是以别之。,,,,,
|
||||
c03_s09_胖子干尸,?胖子干尸,,,,,
|
||||
c03_s12_label1,[wave]太瘦弱会被吃掉的![/wave],,,,,
|
||||
c03_s12_label2,[wave]不够...还不够...[/wave],,,,,
|
||||
c03_s12_label3,[wave]活着[/wave],,,,,
|
||||
c03_s12_label4,[wave]太瘦弱了...[/wave],,,,,
|
||||
c03_s12_label5,[wave]已经...回不了头了。[/wave],,,,,
|
||||
c03_s12_label6,[wave]将她交给我,方能保你平安[/wave],,,,,
|
||||
c03_s12_label7,[wave]反正...都一样吧[/wave],,,,,
|
||||
c03_s12_label8,[wave]又嫩又甜[/wave],,,,,
|
||||
|
|
@ -377,6 +377,15 @@
|
||||
妖物者,本自造化而生,具灵识,知求生,与万类本无别。人言有异,是以别之。 [ID:c03_s08_囚室符纸]
|
||||
# s09 棺材房
|
||||
?胖子干尸 [ID:c03_s09_胖子干尸]
|
||||
# s10-12 胖子游戏1-3
|
||||
[wave]太瘦弱会被吃掉的![/wave] [ID:c03_s12_label1]
|
||||
[wave]不够...还不够...[/wave] [ID:c03_s12_label2]
|
||||
[wave]活着[/wave] [ID:c03_s12_label3]
|
||||
[wave]太瘦弱了...[/wave] [ID:c03_s12_label4]
|
||||
[wave]已经...回不了头了。[/wave] [ID:c03_s12_label5]
|
||||
[wave]将她交给我,方能保你平安[/wave] [ID:c03_s12_label6]
|
||||
[wave]反正...都一样吧[/wave] [ID:c03_s12_label7]
|
||||
[wave]又嫩又甜[/wave] [ID:c03_s12_label8]
|
||||
|
||||
=> END
|
||||
|
||||
|
@ -3346,6 +3346,65 @@ animations = [{
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("561_absvs")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("562_d128g")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("561_absvs")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("563_3fx5s")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("564_l13jo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("565_5fahj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("566_y2gjg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("567_ikcep")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("568_8vhco")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("569_2qsjy")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("570_wpe64")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("571_88ymt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("572_tnlrb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("573_f02eb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("574_fhnjb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("575_2byqq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("576_5rkx7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("577_y1k3y")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"c02_吕萍_背靠起身_屠宰间",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("578_l4y1k")
|
||||
}, {
|
||||
@ -4773,6 +4832,23 @@ animations = [{
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 8.0,
|
||||
"texture": ExtResource("1009_3fbfp")
|
||||
}, {
|
||||
"duration": 3.0,
|
||||
"texture": ExtResource("1010_ek4fg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1019_3cpbr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1020_4minp")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"c03_胖子游戏_爬起来",
|
||||
"speed": 6.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1011_mi2dh")
|
||||
}, {
|
||||
|
@ -47,6 +47,7 @@ metadata/_edit_vertical_guides_ = [-15.0, -3.0]
|
||||
position = Vector2(0, -60)
|
||||
energy = 1.2
|
||||
range_layer_min = -10
|
||||
range_layer_max = 2
|
||||
range_item_cull_mask = 15
|
||||
shadow_enabled = true
|
||||
texture = SubResource("GradientTexture2D_gk3xo")
|
||||
@ -57,6 +58,7 @@ height = 10.0
|
||||
position = Vector2(0, -60)
|
||||
energy = 0.0
|
||||
range_layer_min = -10
|
||||
range_layer_max = 2
|
||||
range_item_cull_mask = 15
|
||||
shadow_enabled = true
|
||||
texture = SubResource("GradientTexture2D_e2i85")
|
||||
|
@ -54,6 +54,7 @@ var ANIMATION_CONFIG = {
|
||||
# 第二章井边站起来
|
||||
19: [&"", Vector2.ONE, Vector2(2.5, -48.0), &"c02_吕萍_背靠起身", &""],
|
||||
20: [&"", Vector2.ONE, Vector2(2.5, -48.0), &"c02_吕萍_背靠呼吸", &""],
|
||||
21: [&"", Vector2.ONE, Vector2(2.5, -48.0), &"c02_吕萍_背靠起身_屠宰间", &""],
|
||||
},
|
||||
"吕萍爬行":
|
||||
{
|
||||
@ -195,8 +196,8 @@ var ANIMATION_CONFIG = {
|
||||
"speed_runnig": 150.0,
|
||||
"walk_footstep": 0.5,
|
||||
"run_footstep": 0.5,
|
||||
"os_height": 70.0,
|
||||
"light_height": 20.0,
|
||||
"os_height": 130.0,
|
||||
"light_height": 50.0,
|
||||
# 如果使用 auto,就会自动以最低点为基准
|
||||
# "auto_foot_offset": true,
|
||||
"foot_offset": Vector2(0, -51.0),
|
||||
@ -208,6 +209,7 @@ var ANIMATION_CONFIG = {
|
||||
6: [&"c03_胖子游戏_洞里爬出来", Vector2.ONE, Vector2(-70, -44.5)],
|
||||
7: [&"", Vector2.ONE, Vector2(0, -51.0), &"", &"c03_胖子游戏_胖子对半砍"],
|
||||
8: [&"", Vector2.ONE, Vector2(0, -51.0), &"", &"c03_胖子游戏_吃东西"],
|
||||
9: [&"", Vector2.ONE, Vector2(0, -108.0), &"", &"c03_胖子游戏_爬起来"],
|
||||
},
|
||||
"小小小蝶":
|
||||
{
|
||||
@ -217,8 +219,8 @@ var ANIMATION_CONFIG = {
|
||||
"speed_runnig": 100.0,
|
||||
"walk_footstep": 0.5,
|
||||
"run_footstep": 7.0 / 9.0 / 2.0,
|
||||
"os_height": 70.0,
|
||||
"light_height": 20.0,
|
||||
"os_height": 80.0,
|
||||
"light_height": 40.0,
|
||||
# 如果使用 auto,就会自动以最低点为基准
|
||||
# "auto_foot_offset": true,
|
||||
"foot_offset": Vector2(0, -68.0),
|
||||
|
@ -64,6 +64,14 @@ func reset_position_immediately():
|
||||
print("CameraFocusMarker reset_position_immediately to:", global_position)
|
||||
|
||||
|
||||
func set_force_offset_to_target() -> void:
|
||||
var target_position = focusing_node.global_position + _tweeked_position
|
||||
if focusing_node is MainPlayer:
|
||||
# player 的焦点在脚底,所以需要偏移 player 的高度。注意 y 轴是向下的,所以是减去 player 的高度
|
||||
target_position.y -= focusing_node.current_animation_config.os_height * 0.7
|
||||
force_offset = global_position - target_position
|
||||
|
||||
|
||||
func tweak_position(velocity, facing_direction):
|
||||
var ideal_x = facing_direction.x * min(50.0, 0.5 * abs(velocity.x))
|
||||
var current_x = _tweeked_position.x
|
||||
|
@ -40,15 +40,18 @@ func _on_grinder_exited(_arg) -> void:
|
||||
|
||||
|
||||
func _transport_to_the_fatty_story() -> void:
|
||||
_setup_monster_chopping()
|
||||
SceneManager.get_camera_marker().shake_camera(3.0)
|
||||
SceneManager.lock_player()
|
||||
await Util.wait(1.0)
|
||||
SceneManager.dizzy_effect(3.0)
|
||||
SceneManager.player_action(17, true)
|
||||
Util.timer(1.0, _setup_monster_chopping)
|
||||
await SceneManager.get_player().animation_finished
|
||||
await Util.wait(2.0)
|
||||
SceneManager.dizzy_effect(3.5)
|
||||
SceneManager.player_action(17, true)
|
||||
play("fatty_flash")
|
||||
SceneManager.pop_debug_dialog_info("音效", "胖子闪烁")
|
||||
await Util.wait(3.0)
|
||||
SceneManager.unlock_player()
|
||||
SceneManager.black_transition(1.5, 3.0)
|
||||
await Util.wait(3.0)
|
||||
SceneManager.get_ground_loader().transition_to_scene("c03_s10", "left")
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=30 format=3 uid="uid://c67732f2we13j"]
|
||||
[gd_scene load_steps=35 format=3 uid="uid://c67732f2we13j"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_oxs1j"]
|
||||
[ext_resource type="Script" uid="uid://dh5vxhnfnua3q" path="res://scene/ground/scene/c03/s07_屠宰间.gd" id="2_oxs1j"]
|
||||
@ -28,8 +28,75 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="21_qeidq"]
|
||||
[ext_resource type="Script" uid="uid://deysfedtyjlig" path="res://scene/ground/script/c03/s07_event胖子游戏结束演出.gd" id="22_fuomw"]
|
||||
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="23_u2kpr"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://b7fhheih1hbvf" path="res://config/animation/entity_sprite_frames.tres" id="28_2kdsp"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2kdsp"]
|
||||
resource_name = "fatty_flash"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer/Light胖子闪烁:color")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.266667, 0.366667, 0.433333, 0.633333, 0.7, 0.766667, 0.833333, 0.9),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 1), Color(0.935194, 0.935194, 0.935194, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer/胖子:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.366667, 0.433333, 0.633333, 0.7, 0.966667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0.494118), Color(1, 1, 1, 0.494118), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 0.494118), Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_akd3f"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainPlayer/Light胖子闪烁:color")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(0, 0, 0, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainPlayer/胖子:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_akd3f"),
|
||||
&"fatty_flash": SubResource("Animation_2kdsp")
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_2kdsp"]
|
||||
offsets = PackedFloat32Array(1)
|
||||
colors = PackedColorArray(1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_akd3f"]
|
||||
gradient = SubResource("Gradient_2kdsp")
|
||||
height = 128
|
||||
|
||||
[node name="S07" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0]
|
||||
@ -220,6 +287,21 @@ catty_light_energy = 0.5
|
||||
player_movement_rect = Rect2(18, -158, 714, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="胖子" type="AnimatedSprite2D" parent="Ground/MainPlayer" index="6"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
light_mask = 257
|
||||
position = Vector2(-1, -56)
|
||||
sprite_frames = ExtResource("28_2kdsp")
|
||||
animation = &"c02_张胖子_idle"
|
||||
autoplay = "c02_张胖子_idle"
|
||||
|
||||
[node name="Light胖子闪烁" type="PointLight2D" parent="Ground/MainPlayer" index="7"]
|
||||
position = Vector2(-1, -48)
|
||||
color = Color(0, 0, 0, 1)
|
||||
blend_mode = 2
|
||||
range_item_cull_mask = 256
|
||||
texture = SubResource("GradientTexture2D_akd3f")
|
||||
|
||||
[node name="CameraFocusMarker" parent="Ground" index="6"]
|
||||
limit_right = 750
|
||||
|
||||
|
@ -4,7 +4,7 @@ extends AnimationRoot
|
||||
|
||||
# 覆盖该方法
|
||||
func _default_data() -> Dictionary:
|
||||
return {}
|
||||
return {"has_entered": false}
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -42,13 +42,23 @@ func _setup_node_reference() -> void:
|
||||
|
||||
|
||||
func _on_ground_ready() -> void:
|
||||
_enter_scene()
|
||||
# 设置相机范围
|
||||
var right_x = player.player_movement_rect.size.x
|
||||
var rect := Rect2i(0, -158, int(right_x) + 200, 316)
|
||||
SceneManager.get_camera_marker().apply_limits(rect)
|
||||
monster.before_restart.connect(_on_monster_restart)
|
||||
|
||||
# 如果播放过,隐藏砍断文字 label
|
||||
if $"../DeployLayer/AmbushLabel2".played:
|
||||
$"../DeployLayer/砍断Pivot".hide()
|
||||
|
||||
var ambush3 = $"../DeployLayer/Ambush肉山3"
|
||||
# 玩家最早从 ambush3 开始玩
|
||||
player.global_position.x = min(player.global_position.x, ambush3.global_position.x)
|
||||
|
||||
if not data["has_entered"]:
|
||||
_do_enter_scene()
|
||||
|
||||
|
||||
|
||||
#0: 初始化; 1-3 三关
|
||||
@ -79,18 +89,49 @@ func _on_chop_timer_timeout() -> void:
|
||||
aiming_duration = clampf(aiming_duration - 0.1, 2.0, 3.0)
|
||||
chop_timer.wait_time = aiming_duration + 0.5
|
||||
monster.chop_right(aiming_duration)
|
||||
var next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(0.0, 50.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
await Util.wait(0.5)
|
||||
next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(-20.0, 20.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
await Util.wait(0.5)
|
||||
next_x = player_pos.x + player.velocity.x * aiming_duration + randf_range(-20.0, 20.0)
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
_update_target_position()
|
||||
Util.timer(0.5, _update_target_position)
|
||||
Util.timer(1.0, _update_target_position)
|
||||
Util.timer(1.5, _update_target_position)
|
||||
if GlobalConfig.DEBUG:
|
||||
print("棺材怪 chop next_x=", monster_target.global_position.x, "s_range=", s_range)
|
||||
|
||||
|
||||
func _update_target_position() -> void:
|
||||
var player_pos = player.global_position
|
||||
var next_x = player_pos.x + min(player.velocity.x * aiming_duration, 150.0) + randf_range(-20.0, 20.0)
|
||||
var s_range = range_of_stages[current_stage - 1]
|
||||
monster_target.global_position.x = clampf(next_x, s_range.x, s_range.y)
|
||||
|
||||
|
||||
func _tween_display_label(node) -> void:
|
||||
var label = node.get_node("Label")
|
||||
label.modulate.a = 0.0
|
||||
label.show()
|
||||
var tween = create_tween()
|
||||
tween.tween_property(label, "modulate:a", 1.0, 0.5)
|
||||
tween.tween_interval(5.0)
|
||||
tween.tween_property(label, "modulate:a", 0.0, 0.5)
|
||||
|
||||
|
||||
func label_ambush1() -> void:
|
||||
var ambush = $"../DeployLayer/AmbushLabel1"
|
||||
_tween_display_label(ambush)
|
||||
|
||||
|
||||
# 使用 AnimationPlayer 砍断文字
|
||||
func label_ambush2() -> void:
|
||||
SceneManager.lock_player()
|
||||
play("chop_split_word")
|
||||
await animation_finished
|
||||
SceneManager.unlock_player()
|
||||
|
||||
|
||||
func label_ambush3() -> void:
|
||||
var ambush = $"../DeployLayer/AmbushLabel3"
|
||||
_tween_display_label(ambush)
|
||||
|
||||
|
||||
func drop_meat_hill_1() -> void:
|
||||
monster.hand_mode = 0
|
||||
var ambush = $"../DeployLayer/Ambush肉山1"
|
||||
@ -146,6 +187,7 @@ func _on_monster_restart() -> void:
|
||||
|
||||
const MEAT_MIN_DISTANCE = 100.0
|
||||
|
||||
|
||||
# 天上掉肉
|
||||
func _drop_meat_hill() -> void:
|
||||
var camera = SceneManager.get_camera_marker()
|
||||
@ -170,16 +212,14 @@ func _drop(progress: float, start_y: float, target_y: float) -> void:
|
||||
meat_hill.global_position.x = min(max_x, meat_hill.global_position.x)
|
||||
|
||||
|
||||
func _enter_scene() -> void:
|
||||
func _do_enter_scene() -> void:
|
||||
var portal_x = $"../DeployLayer/portal_left".global_position.x
|
||||
var player_x = player.global_position.x
|
||||
if GlobalConfig.DEBUG and player_x > 100:
|
||||
return
|
||||
player.global_position.x = portal_x
|
||||
SceneManager.lock_player(0, 5, true)
|
||||
SceneManager.pause_and_hide_player_sprite(4.5)
|
||||
await player.animation_finished
|
||||
SceneManager.unlock_player()
|
||||
set_data("has_entered", true)
|
||||
|
||||
|
||||
func _run_game() -> void:
|
||||
@ -191,3 +231,7 @@ func _run_game() -> void:
|
||||
monster.chop_left(1.0)
|
||||
await Util.wait(4.0)
|
||||
monster.chop_right(1.0)
|
||||
|
||||
func chop_shake() -> void:
|
||||
var camera = SceneManager.get_camera_marker()
|
||||
camera.shake_camera(4.0)
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=38 format=3 uid="uid://clgwc3jcqarpe"]
|
||||
[gd_scene load_steps=41 format=3 uid="uid://clgwc3jcqarpe"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_0c2p2"]
|
||||
[ext_resource type="Script" uid="uid://cs4ddcjq81c1d" path="res://scene/ground/scene/c03/s10_胖子游戏1.gd" id="2_tthij"]
|
||||
@ -32,8 +32,299 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="20_4gg56"]
|
||||
[ext_resource type="Texture2D" uid="uid://0qkxvm0xiubu" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/落点2.png" id="20_whxhi"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://dy8b8dmgv3mdd" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第二段/c03_胖子游戏第二段_frames.tres" id="21_4bvrv"]
|
||||
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="22_v1flc"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4bvrv"]
|
||||
resource_name = "chop_split_word"
|
||||
length = 4.0
|
||||
capture_included = true
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DeployLayer/砍断文字的手:animation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [&"左手砍"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("DeployLayer/砍断文字的手:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 2.03333, 2.2, 2.3, 2.36667, 2.93333, 3, 4),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1566, -284), Vector2(1566, -284), Vector2(1566, -100), Vector2(1566, -17), Vector2(1566, -17), Vector2(1566, -17), Vector2(1566, -17), Vector2(1566, -300)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("DeployLayer/砍断文字的手:frame")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2.26667, 2.43333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 2,
|
||||
"values": [0, 0, 2]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字1:position")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0.0333333, 2.2, 2.23333, 2.46667, 2.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-206, -18), Vector2(-206, -18), Vector2(-224, 12), Vector2(-233, 189), Vector2(-169, 338)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字1:rotation")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0.0333333, 2.2, 2.23333, 2.46667, 2.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0, -0.13036, -0.88622, -1.55322]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字2:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0.0333333, 2.2, 2.23333, 2.46667, 2.63333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 0.0, 0.139331, 1.32286, 1.9148]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字2:position")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0.0333333, 2.2, 2.23333, 2.46667, 2.63333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(4, -17), Vector2(4, -17), Vector2(15, -14), Vector2(69, 35), Vector2(152, 146)]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("DeployLayer/砍断文字的落点:scale")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0, 1.73333, 2.5, 3.13333, 3.76667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1e-05, 1e-05), Vector2(0.8, 0.8), Vector2(1, 1), Vector2(1, 1), Vector2(0, 0)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("CanvasLayer/胖子游戏棺材怪/Sfx2D棺材怪切刀:playing")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(2.36667),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字1:modulate")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(2.13654, 2.46667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字2:modulate")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(2.13654, 2.46667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/11/type = "method"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("AnimationPlayer")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = {
|
||||
"times": PackedFloat32Array(2.33333),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"chop_shake"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v1flc"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DeployLayer/砍断文字的手:animation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [&"左手砍"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("DeployLayer/砍断文字的手:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1566, -284)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("DeployLayer/砍断文字的手:frame")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字1:position")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-206, -18)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字1:rotation")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字2:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字2:position")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(4, -17)]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("DeployLayer/砍断文字的落点:scale")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1e-05, 1e-05)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("CanvasLayer/胖子游戏棺材怪/Sfx2D棺材怪切刀:playing")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字1:modulate")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("DeployLayer/砍断Pivot/被砍断的文字2:modulate")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_v1flc"),
|
||||
&"chop_split_word": SubResource("Animation_4bvrv")
|
||||
}
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_2wy2j"]
|
||||
radius = 20.0
|
||||
@ -58,6 +349,7 @@ stream_3/stream = ExtResource("10_js8ld")
|
||||
|
||||
[node name="S10" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [98.0, 120.0, -120.0]
|
||||
metadata/_edit_vertical_guides_ = [1564.0]
|
||||
|
||||
[node name="Ground" parent="." instance=ExtResource("1_0c2p2")]
|
||||
scene_name = "c03_s10"
|
||||
@ -106,7 +398,7 @@ texture = ExtResource("17_f57cq")
|
||||
position = Vector2(202, 15)
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(8170, 31)
|
||||
position = Vector2(8914, 30.5)
|
||||
texture = ExtResource("8_o5hrx")
|
||||
offset = Vector2(65, -59)
|
||||
sign_mark_offset = Vector2(0, -28.54)
|
||||
@ -125,12 +417,12 @@ animation = &"胖子的母亲"
|
||||
autoplay = "胖子的母亲"
|
||||
|
||||
[node name="落点左" type="Sprite2D" parent="Ground/DeployLayer" index="3"]
|
||||
position = Vector2(1582, 98)
|
||||
position = Vector2(3126, 97.5)
|
||||
scale = Vector2(1e-05, 1e-05)
|
||||
texture = ExtResource("18_js8ld")
|
||||
|
||||
[node name="左侧手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="4"]
|
||||
position = Vector2(1582, -317)
|
||||
position = Vector2(3126, -317.5)
|
||||
sprite_frames = ExtResource("16_f57cq")
|
||||
animation = &"左手砍"
|
||||
offset = Vector2(-11, -13)
|
||||
@ -155,12 +447,12 @@ shape = SubResource("CapsuleShape2D_whxhi")
|
||||
disabled = true
|
||||
|
||||
[node name="落点右" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
|
||||
position = Vector2(2158, 98)
|
||||
position = Vector2(3702, 97.5)
|
||||
scale = Vector2(1e-05, 1e-05)
|
||||
texture = ExtResource("20_whxhi")
|
||||
|
||||
[node name="右侧手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"]
|
||||
position = Vector2(2158, -317)
|
||||
position = Vector2(3702, -317.5)
|
||||
sprite_frames = ExtResource("16_f57cq")
|
||||
animation = &"右手砍"
|
||||
offset = Vector2(9, -12)
|
||||
@ -185,10 +477,10 @@ shape = SubResource("CapsuleShape2D_whxhi")
|
||||
disabled = true
|
||||
|
||||
[node name="MonsterMoveTarget" type="Marker2D" parent="Ground/DeployLayer" index="7"]
|
||||
position = Vector2(1646, -1)
|
||||
position = Vector2(2061, -1)
|
||||
|
||||
[node name="肉山" type="AnimatableBody2D" parent="Ground/DeployLayer" index="8"]
|
||||
position = Vector2(162, -421)
|
||||
position = Vector2(-308, -591)
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
@ -222,54 +514,61 @@ position = Vector2(-19, -38)
|
||||
shape = SubResource("CircleShape2D_lljm3")
|
||||
|
||||
[node name="肉山Transform" type="RemoteTransform2D" parent="Ground/DeployLayer" index="9"]
|
||||
position = Vector2(162, -421)
|
||||
position = Vector2(-308, -591)
|
||||
remote_path = NodePath("../肉山")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="Ambush肉山1" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_lljm3")]
|
||||
position = Vector2(1238, -3)
|
||||
position = Vector2(1982, -3.5)
|
||||
one_shot = false
|
||||
hook_method = "drop_meat_hill_1"
|
||||
|
||||
[node name="Start1" type="Marker2D" parent="Ground/DeployLayer" index="11"]
|
||||
position = Vector2(1261, -2)
|
||||
position = Vector2(2005, -2.5)
|
||||
|
||||
[node name="End1" type="Marker2D" parent="Ground/DeployLayer" index="12"]
|
||||
position = Vector2(1926, -3)
|
||||
position = Vector2(2676, -2)
|
||||
|
||||
[node name="Ambush肉山2" parent="Ground/DeployLayer" index="13" instance=ExtResource("11_lljm3")]
|
||||
position = Vector2(2078, -8)
|
||||
position = Vector2(2828, -7)
|
||||
one_shot = false
|
||||
hook_method = "drop_meat_hill_2"
|
||||
|
||||
[node name="Start2" type="Marker2D" parent="Ground/DeployLayer" index="14"]
|
||||
position = Vector2(2145, -11)
|
||||
position = Vector2(2895, -10)
|
||||
|
||||
[node name="End2" type="Marker2D" parent="Ground/DeployLayer" index="15"]
|
||||
position = Vector2(4128, -16)
|
||||
position = Vector2(5259, -7)
|
||||
|
||||
[node name="Ambush肉山3" parent="Ground/DeployLayer" index="16" instance=ExtResource("11_lljm3")]
|
||||
position = Vector2(4337, -13)
|
||||
position = Vector2(5468, -4)
|
||||
one_shot = false
|
||||
hook_method = "drop_meat_hill_3"
|
||||
|
||||
[node name="Start3" type="Marker2D" parent="Ground/DeployLayer" index="17"]
|
||||
position = Vector2(4562, -10)
|
||||
position = Vector2(5693, -1)
|
||||
|
||||
[node name="End3" type="Marker2D" parent="Ground/DeployLayer" index="18"]
|
||||
position = Vector2(7618, 9)
|
||||
position = Vector2(7860, -1)
|
||||
|
||||
[node name="ChopTimer" type="Timer" parent="Ground/DeployLayer" index="19"]
|
||||
wait_time = 2.5
|
||||
autostart = true
|
||||
|
||||
[node name="老太太文字" type="RichTextLabel" parent="Ground/DeployLayer" index="20"]
|
||||
[node name="AmbushLabel1" parent="Ground/DeployLayer" index="20" instance=ExtResource("11_lljm3")]
|
||||
position = Vector2(591, 51)
|
||||
hook_method = "label_ambush1"
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"]
|
||||
visible = false
|
||||
z_index = 6
|
||||
custom_minimum_size = Vector2(1000, 0)
|
||||
offset_left = 126.0
|
||||
offset_top = -70.0
|
||||
offset_right = 1126.0
|
||||
offset_bottom = -29.0
|
||||
offset_left = -263.0
|
||||
offset_top = -53.0
|
||||
offset_right = 737.0
|
||||
offset_bottom = -12.0
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
@ -279,20 +578,43 @@ fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Control" type="Control" parent="Ground/DeployLayer" index="21"]
|
||||
[node name="AmbushLabel2" parent="Ground/DeployLayer" index="21" instance=ExtResource("11_lljm3")]
|
||||
position = Vector2(1442, 42)
|
||||
hook_method = "label_ambush2"
|
||||
|
||||
[node name="砍断文字的手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="22"]
|
||||
z_index = 6
|
||||
position = Vector2(1566, -284)
|
||||
sprite_frames = ExtResource("16_f57cq")
|
||||
animation = &"左手砍"
|
||||
offset = Vector2(-11, -13)
|
||||
|
||||
[node name="砍断文字的落点" type="Sprite2D" parent="Ground/DeployLayer" index="23"]
|
||||
position = Vector2(1564, 98)
|
||||
scale = Vector2(1e-05, 1e-05)
|
||||
texture = ExtResource("18_js8ld")
|
||||
|
||||
[node name="砍断Pivot" type="Control" parent="Ground/DeployLayer" index="24"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = 1563.0
|
||||
offset_top = -47.0
|
||||
offset_right = 1603.0
|
||||
offset_bottom = -7.0
|
||||
offset_left = 1564.0
|
||||
offset_right = 1604.0
|
||||
offset_bottom = 40.0
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="被砍断的文字1" type="RichTextLabel" parent="Ground/DeployLayer/Control"]
|
||||
[node name="被砍断的文字1" type="RichTextLabel" parent="Ground/DeployLayer/砍断Pivot"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
offset_left = -206.0
|
||||
offset_top = -18.0
|
||||
offset_right = -6.0
|
||||
offset_bottom = 23.0
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.525
|
||||
anchor_top = 9.475
|
||||
anchor_right = 0.525
|
||||
anchor_bottom = 9.475
|
||||
offset_left = -249.587
|
||||
offset_top = -276.792
|
||||
offset_right = -49.5868
|
||||
offset_bottom = -235.792
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
@ -301,14 +623,15 @@ text = "[wave]活[/wave]"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 2
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="被砍断的文字2" type="RichTextLabel" parent="Ground/DeployLayer/Control"]
|
||||
[node name="被砍断的文字2" type="RichTextLabel" parent="Ground/DeployLayer/砍断Pivot"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
offset_left = 4.0
|
||||
offset_top = -17.0
|
||||
offset_right = 204.0
|
||||
offset_bottom = 24.0
|
||||
layout_mode = 0
|
||||
offset_left = 42.5211
|
||||
offset_top = 10.9728
|
||||
offset_right = 242.521
|
||||
offset_bottom = 51.9728
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
@ -317,12 +640,19 @@ text = "[wave]着[/wave]"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
|
||||
[node name="结尾文字" type="RichTextLabel" parent="Ground/DeployLayer" index="22"]
|
||||
[node name="AmbushLabel3" parent="Ground/DeployLayer" index="25" instance=ExtResource("11_lljm3")]
|
||||
position = Vector2(8448, 36)
|
||||
hook_method = "label_ambush3"
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel3"]
|
||||
visible = false
|
||||
z_index = 6
|
||||
custom_minimum_size = Vector2(1000, 0)
|
||||
offset_left = 7302.0
|
||||
offset_top = -71.0
|
||||
offset_right = 8302.0
|
||||
offset_bottom = -30.0
|
||||
offset_left = -372.0
|
||||
offset_top = -40.0
|
||||
offset_right = 628.0
|
||||
offset_bottom = 1.0
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("19_usr2w")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
@ -332,23 +662,23 @@ fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="PointLight2D结尾文字" type="PointLight2D" parent="Ground/DeployLayer/结尾文字"]
|
||||
[node name="PointLight2D结尾文字" type="PointLight2D" parent="Ground/DeployLayer/AmbushLabel3/Label"]
|
||||
position = Vector2(835, 78)
|
||||
range_layer_min = -5
|
||||
texture = ExtResource("20_4gg56")
|
||||
texture_scale = 1.1
|
||||
|
||||
[node name="洞口的手2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="23"]
|
||||
[node name="洞口的手2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="26"]
|
||||
z_index = -1
|
||||
position = Vector2(8091, 31)
|
||||
position = Vector2(8835, 30.5)
|
||||
sprite_frames = ExtResource("21_4bvrv")
|
||||
animation = &"小手"
|
||||
autoplay = "小手"
|
||||
speed_scale = 1.1
|
||||
|
||||
[node name="洞口的手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="24"]
|
||||
[node name="洞口的手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="27"]
|
||||
z_index = 9
|
||||
position = Vector2(8155, 35)
|
||||
position = Vector2(8899, 34.5)
|
||||
sprite_frames = ExtResource("21_4bvrv")
|
||||
animation = &"小手"
|
||||
autoplay = "小手"
|
||||
@ -380,6 +710,13 @@ character = "胖子游戏"
|
||||
player_movement_rect = Rect2(30, -158, 8170, 316)
|
||||
facing_direction = Vector2(1, 0)
|
||||
|
||||
[node name="PointLight2D2" type="PointLight2D" parent="Ground/MainPlayer" index="6"]
|
||||
position = Vector2(-4, -40)
|
||||
energy = 0.5
|
||||
range_layer_min = -10
|
||||
range_layer_max = 2
|
||||
texture = ExtResource("22_v1flc")
|
||||
|
||||
[node name="BGParallaxLayer" parent="Ground/ParallaxForeground" index="0"]
|
||||
motion_scale = Vector2(0.9, 1)
|
||||
|
||||
@ -393,7 +730,7 @@ texture = ExtResource("6_hno1l")
|
||||
offset = Vector2(0, 50)
|
||||
|
||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||
points = PackedVector2Array(30, 150, 8162, 151)
|
||||
points = PackedVector2Array(30, 150, 8921, 151)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
energy = 0.4
|
||||
@ -461,7 +798,7 @@ follow_viewport_enabled = true
|
||||
[node name="胖子游戏棺材怪" type="AnimatedSprite2D" parent="Ground/CanvasLayer" node_paths=PackedStringArray("move_target", "left_side_sprite", "right_side_sprite", "left_area", "right_area", "left_static_collision", "right_static_collision")]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
z_index = -1
|
||||
position = Vector2(1890, -17)
|
||||
position = Vector2(3434, -17.5)
|
||||
sprite_frames = ExtResource("16_f57cq")
|
||||
animation = &"棺材怪右砍"
|
||||
script = ExtResource("9_js8ld")
|
||||
@ -483,12 +820,11 @@ loop = true
|
||||
loop_round_time = 0.4
|
||||
metadata/_custom_type_script = "uid://wapo47a1oddf"
|
||||
|
||||
[node name="Sfx2D棺材怪切刀" type="AudioStreamPlayer2D" parent="Ground/CanvasLayer/胖子游戏棺材怪"]
|
||||
[node name="Sfx2D棺材怪切刀" type="AudioStreamPlayer" parent="Ground/CanvasLayer/胖子游戏棺材怪"]
|
||||
stream = ExtResource("12_whxhi")
|
||||
max_distance = 1000.0
|
||||
bus = &"game_sfx"
|
||||
script = ExtResource("10_f57cq")
|
||||
metadata/_custom_type_script = "uid://wapo47a1oddf"
|
||||
script = ExtResource("4_60xwi")
|
||||
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
|
||||
|
||||
[node name="左侧" type="RemoteTransform2D" parent="Ground/CanvasLayer/胖子游戏棺材怪"]
|
||||
position = Vector2(-308, -300)
|
||||
|
@ -41,6 +41,7 @@ func _check_first_enter() -> void:
|
||||
|
||||
|
||||
func talk_with_npc() -> void:
|
||||
$"../DeployLayer/Ambush对话探子".enabled = false
|
||||
SceneManager.lock_player()
|
||||
$"../DeployLayer/Pro探子".flip_h = false
|
||||
var camera = SceneManager.get_camera_marker()
|
||||
|
@ -95,6 +95,7 @@ metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="Ambush对话探子" parent="Ground/DeployLayer" index="4" instance=ExtResource("9_0w5fd")]
|
||||
position = Vector2(995.5, 44.5)
|
||||
one_shot = false
|
||||
hook_method = "talk_with_npc"
|
||||
|
||||
[node name="文物" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
|
||||
|
@ -4,7 +4,7 @@ extends AnimationRoot
|
||||
|
||||
# 覆盖该方法
|
||||
func _default_data() -> Dictionary:
|
||||
return {}
|
||||
return {"has_entered": false}
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -15,10 +15,10 @@ func _ready() -> void:
|
||||
|
||||
#region node_reference
|
||||
var collapse_sprite: AnimatedSprite2D
|
||||
var ambush_collapse: Ambush2D
|
||||
var final_meat_ambush: Ambush2D
|
||||
var final_meat_sprite: AnimatedSprite2D
|
||||
var final_label
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@ -28,6 +28,8 @@ func _setup_node_reference() -> void:
|
||||
final_meat_ambush = $"../DeployLayer/Ambush最终吃肉"
|
||||
final_meat_sprite = $"../DeployLayer/Ambush最终吃肉/Pro吃肉"
|
||||
final_label = $"../CanvasLayer/最终吃肉"
|
||||
ambush_collapse = $"../DeployLayer/Ambush小孩山塌了"
|
||||
|
||||
|
||||
func _on_ground_ready() -> void:
|
||||
# 设置相机范围
|
||||
@ -35,7 +37,8 @@ func _on_ground_ready() -> void:
|
||||
var right_x = player.player_movement_rect.size.x
|
||||
var rect := Rect2i(0, -158, int(right_x) + 320, 316)
|
||||
SceneManager.get_camera_marker().apply_limits(rect)
|
||||
|
||||
# 玩家不能超过 ambush_collapse 位置
|
||||
player.global_position.x = min(player.global_position.x, ambush_collapse.global_position.x)
|
||||
# 处理 Ambush肉1 节点
|
||||
for i in range(1, 4):
|
||||
var node = get_node("../DeployLayer/Ambush肉" + str(i)) as Ambush2D
|
||||
@ -44,6 +47,15 @@ func _on_ground_ready() -> void:
|
||||
_disable_wall_on_meat(node)
|
||||
else:
|
||||
node.triggered.connect(_on_eat_meat_triggered.bind(node))
|
||||
if not data["has_entered"]:
|
||||
var x = $"../DeployLayer/portal_left".global_position.x
|
||||
SceneManager.get_player().global_position.x = x
|
||||
SceneManager.get_player().set_facing_direction(Vector2.RIGHT)
|
||||
SceneManager.lock_player(0, 9, true)
|
||||
set_data("has_entered", true)
|
||||
await SceneManager.pause_and_hide_player_sprite(1.0)
|
||||
await SceneManager.get_player().animation_finished
|
||||
SceneManager.unlock_player()
|
||||
|
||||
|
||||
func _disable_wall_on_meat(meat_node) -> void:
|
||||
@ -52,21 +64,52 @@ func _disable_wall_on_meat(meat_node) -> void:
|
||||
|
||||
func _on_eat_meat_triggered(node) -> void:
|
||||
_disable_wall_on_meat(node)
|
||||
_tween_display_label(node)
|
||||
var player = SceneManager.get_player()
|
||||
SceneManager.lock_player(0, 8)
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(0.9)
|
||||
tween.tween_property(node, "modulate:a", 0.0, 1.0)
|
||||
tween.tween_property(node, "self_modulate:a", 0.0, 1.0)
|
||||
await player.animation_finished
|
||||
SceneManager.unlock_player()
|
||||
|
||||
|
||||
func _tween_display_label(node) -> void:
|
||||
var label = node.get_node("Label")
|
||||
label.modulate.a = 0.0
|
||||
label.show()
|
||||
var tween = create_tween()
|
||||
tween.tween_property(label, "modulate:a", 1.0, 0.5)
|
||||
tween.tween_interval(5.0)
|
||||
tween.tween_property(label, "modulate:a", 0.0, 0.5)
|
||||
|
||||
|
||||
func label_ambush1() -> void:
|
||||
var ambush = $"../DeployLayer/AmbushLabel1"
|
||||
_tween_display_label(ambush)
|
||||
|
||||
|
||||
func label_ambush2() -> void:
|
||||
var ambush = $"../DeployLayer/AmbushLabel2"
|
||||
_tween_display_label(ambush)
|
||||
|
||||
|
||||
func label_ambush3() -> void:
|
||||
var ambush = $"../DeployLayer/AmbushLabel3"
|
||||
_tween_display_label(ambush)
|
||||
|
||||
|
||||
func eat_meat() -> void:
|
||||
final_label.show()
|
||||
final_label.modulate.a = 0.0
|
||||
final_meat_ambush.enabled = false
|
||||
var light_pivot = $"../DeployLayer/LightPivot"
|
||||
var light_pivot = $"../DeployLayer/Ambush最终吃肉/LightPivot"
|
||||
SceneManager.lock_player()
|
||||
var x = final_meat_sprite.global_position.x
|
||||
await SceneManager.get_player().walk_to_x(x).finished
|
||||
var tween = create_tween()
|
||||
tween.tween_interval(1.0)
|
||||
tween.tween_property(final_label, "modulate:a", 1.0, 2.5)
|
||||
# 第一帧没有瘦子,后面才有
|
||||
var player = SceneManager.get_player() as MainPlayer
|
||||
player.reparent_light(light_pivot)
|
||||
@ -82,11 +125,45 @@ func eat_meat() -> void:
|
||||
|
||||
|
||||
func collapse() -> void:
|
||||
$"../DeployLayer/Ambush小孩山塌了".enabled = false
|
||||
var player = SceneManager.get_player()
|
||||
ambush_collapse.enabled = false
|
||||
# 交互之后,启用 final_meat_ambush
|
||||
final_meat_ambush.enabled = true
|
||||
SceneManager.lock_player()
|
||||
var label = $"../DeployLayer/都一样"
|
||||
label.modulate.a = 0.0
|
||||
label.show()
|
||||
var camera := SceneManager.get_camera_marker() as CameraFocusMarker
|
||||
var default_limit_rect := camera.default_camera_rect
|
||||
var limit_rect := camera.default_camera_rect
|
||||
limit_rect.position.y -= 100
|
||||
limit_rect.size.y += 100
|
||||
camera.apply_limits(limit_rect)
|
||||
if GlobalConfig.DEBUG:
|
||||
print("camera limit_rect:", limit_rect)
|
||||
var tween
|
||||
create_tween().tween_property(label, "modulate:a", 1.0, 2.0)
|
||||
await Util.wait(1.0)
|
||||
Util.timer(1.0, camera.tween_zoom.bind(1.05, 2.0))
|
||||
camera.set_force_offset_to_target()
|
||||
var target_offset = ambush_collapse.get_node("CameraPivot").global_position - player.global_position
|
||||
tween = create_tween()
|
||||
tween.tween_property(camera, "force_offset", target_offset, 3.0)
|
||||
tween.tween_interval(1.0)
|
||||
await tween.finished
|
||||
collapse_sprite.play()
|
||||
$"Sfx山塌了".play()
|
||||
#TODO
|
||||
SceneManager.pop_debug_dialog_info("音效", "山塌了")
|
||||
# 交互之后,启用 final_meat_ambush
|
||||
final_meat_ambush.enabled = true
|
||||
await Util.wait(1.5)
|
||||
camera.shake_camera()
|
||||
tween = create_tween()
|
||||
tween.tween_interval(3.0)
|
||||
tween.tween_callback(camera.tween_zoom.bind(1.0, 1.5))
|
||||
tween.tween_property(camera, "force_offset", Vector2.ZERO, 2.0)
|
||||
await tween.finished
|
||||
SceneManager.unlock_player()
|
||||
camera.apply_limits(default_limit_rect)
|
||||
create_tween().tween_property(label, "modulate:a", 0.0, 1.0)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=24 format=3 uid="uid://cxabqg87g4vxc"]
|
||||
[gd_scene load_steps=23 format=3 uid="uid://cxabqg87g4vxc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ly8ge"]
|
||||
[ext_resource type="Script" uid="uid://f4uampm47832" path="res://scene/ground/scene/c03/s12_胖子游戏3.gd" id="2_c01lu"]
|
||||
@ -9,7 +9,6 @@
|
||||
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="9_vyyx8"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://cb3b44a1jpybb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres" id="10_7x1vi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd8vkws24b5vy" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉山后 可以和背景移动速度不一样 循环贴图.png" id="10_47wdn"]
|
||||
[ext_resource type="Texture2D" uid="uid://q3n7lw1ngoqh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/遮罩 循环贴图.png" id="10_bi3i1"]
|
||||
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="11_mr0pm"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="11_sul0a"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpt0s2ujvcjs5" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉山前 可以和背景移动速度不一样 循环贴图.png" id="11_vyyx8"]
|
||||
@ -25,14 +24,14 @@ length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DeployLayer/LightPivot:position")
|
||||
tracks/0/path = NodePath("DeployLayer/Ambush最终吃肉/LightPivot:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(850, 95)]
|
||||
"values": [Vector2(0, 95)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
@ -66,14 +65,14 @@ capture_included = true
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("DeployLayer/LightPivot:position")
|
||||
tracks/0/path = NodePath("DeployLayer/Ambush最终吃肉/LightPivot:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.42, 0.7, 3.31, 4.75, 5.79, 9.4, 9.68, 10),
|
||||
"times": PackedFloat32Array(0, 0.433333, 0.7, 3.31, 4.75, 5.79, 9.4, 9.68, 10),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(850, 95), Vector2(875, 75), Vector2(892, 47), Vector2(940, 20), Vector2(944, 21), Vector2(959, 11), Vector2(977, -13), Vector2(977, 13), Vector2(968, 176)]
|
||||
"values": [Vector2(0, 95), Vector2(25, 95), Vector2(42, 77), Vector2(90, 50), Vector2(105, 51), Vector2(109, 51), Vector2(127, 27), Vector2(127, 53), Vector2(118, 216)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
@ -109,7 +108,7 @@ _data = {
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y18rp"]
|
||||
|
||||
[node name="S12" type="Node2D"]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0, 103.0, 63.0]
|
||||
metadata/_edit_horizontal_guides_ = [-627.0, 103.0, 63.0, -120.0, -158.0]
|
||||
|
||||
[node name="Ground" parent="." instance=ExtResource("1_ly8ge")]
|
||||
scene_name = "c03_s12"
|
||||
@ -145,15 +144,36 @@ position = Vector2(2797, 0)
|
||||
offset = Vector2(0, -158)
|
||||
|
||||
[node name="portal_left" parent="Ground/DeployLayer" index="0"]
|
||||
position = Vector2(69, 21)
|
||||
position = Vector2(159, 29)
|
||||
|
||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||
position = Vector2(4346, 37)
|
||||
position = Vector2(7496, 3)
|
||||
|
||||
[node name="Ambush肉1" parent="Ground/DeployLayer" index="2" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(923, 85)
|
||||
[node name="AmbushLabel1" parent="Ground/DeployLayer" index="2" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(609, 26)
|
||||
hook_method = "label_ambush1"
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"]
|
||||
visible = false
|
||||
z_index = 6
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -128.0
|
||||
offset_top = -30.0
|
||||
offset_right = 372.0
|
||||
offset_bottom = 11.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "c03_s12_label4"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush肉1" parent="Ground/DeployLayer" index="3" instance=ExtResource("11_sul0a")]
|
||||
z_index = 6
|
||||
position = Vector2(1295, 89)
|
||||
texture = ExtResource("14_vyyx8")
|
||||
offset = Vector2(13, 0)
|
||||
offset = Vector2(20, 0)
|
||||
trigger_mode = "interact"
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="Ground/DeployLayer/Ambush肉1"]
|
||||
@ -165,23 +185,46 @@ collision_mask = 0
|
||||
shape = SubResource("RectangleShape2D_y18rp")
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉1"]
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(1000, 0)
|
||||
offset_left = -474.0
|
||||
offset_top = -169.0
|
||||
offset_right = 526.0
|
||||
offset_bottom = -128.0
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]太瘦弱会被吃掉的![/wave]"
|
||||
text = "c03_s12_label1"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush肉2" parent="Ground/DeployLayer" index="3" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(1443, 84)
|
||||
[node name="AmbushLabel2" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(1896, 37)
|
||||
hook_method = "label_ambush2"
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"]
|
||||
visible = false
|
||||
z_index = 6
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -145.0
|
||||
offset_top = -39.0
|
||||
offset_right = 355.0
|
||||
offset_bottom = 2.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "c03_s12_label5"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush肉2" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_sul0a")]
|
||||
z_index = 6
|
||||
position = Vector2(2700, 88)
|
||||
texture = ExtResource("12_mr0pm")
|
||||
offset = Vector2(20, 0)
|
||||
offset = Vector2(27, 0)
|
||||
trigger_mode = "interact"
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="Ground/DeployLayer/Ambush肉2"]
|
||||
@ -193,23 +236,26 @@ collision_mask = 0
|
||||
shape = SubResource("RectangleShape2D_y18rp")
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉2"]
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -204.0
|
||||
offset_top = -166.0
|
||||
offset_right = 296.0
|
||||
offset_bottom = -125.0
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]不够...还不够...[/wave]"
|
||||
text = "c03_s12_label2"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush肉3" parent="Ground/DeployLayer" index="4" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2016, 85)
|
||||
[node name="Ambush肉3" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_sul0a")]
|
||||
z_index = 6
|
||||
position = Vector2(3736, 89)
|
||||
texture = ExtResource("15_7x1vi")
|
||||
offset = Vector2(37, 0)
|
||||
offset = Vector2(43, 0)
|
||||
trigger_mode = "interact"
|
||||
collision_width_and_x = Vector2(44.19, 0)
|
||||
|
||||
@ -221,30 +267,77 @@ collision_mask = 0
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Ambush肉3/StaticBody2D"]
|
||||
shape = SubResource("RectangleShape2D_y18rp")
|
||||
|
||||
[node name="回不了头" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉3"]
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/Ambush肉3"]
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -232.0
|
||||
offset_top = -165.0
|
||||
offset_right = 268.0
|
||||
offset_bottom = -124.0
|
||||
mouse_filter = 2
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]活着[/wave]"
|
||||
text = "c03_s12_label3"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush最终吃肉" parent="Ground/DeployLayer" index="5" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(4000, 54)
|
||||
sign_mark_offset = Vector2(39, -9)
|
||||
[node name="AmbushLabel3" parent="Ground/DeployLayer" index="7" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(4566, 54)
|
||||
hook_method = "label_ambush3"
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel3"]
|
||||
visible = false
|
||||
z_index = 6
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -79.0
|
||||
offset_top = -58.0
|
||||
offset_right = 421.0
|
||||
offset_bottom = -17.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "c03_s12_label6"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush小孩山塌了" parent="Ground/DeployLayer" index="8" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(5609.84, 32.01)
|
||||
trigger_mode = "interact"
|
||||
one_shot = false
|
||||
hook_method = "collapse"
|
||||
|
||||
[node name="CameraPivot" type="Marker2D" parent="Ground/DeployLayer/Ambush小孩山塌了"]
|
||||
position = Vector2(66.1602, 3.99001)
|
||||
|
||||
[node name="都一样" type="RichTextLabel" parent="Ground/DeployLayer" index="9"]
|
||||
visible = false
|
||||
z_index = 6
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = 5438.0
|
||||
offset_top = 17.0
|
||||
offset_right = 5938.0
|
||||
offset_bottom = 58.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "c03_s12_label7"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Ambush最终吃肉" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(7001, 0)
|
||||
sign_mark_offset = Vector2(36.02, 34.08)
|
||||
enabled = false
|
||||
trigger_mode = "interact"
|
||||
one_shot = false
|
||||
hook_method = "eat_meat"
|
||||
|
||||
[node name="Pro吃肉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush最终吃肉"]
|
||||
position = Vector2(8, 41)
|
||||
position = Vector2(8, 95)
|
||||
sprite_frames = ExtResource("10_7x1vi")
|
||||
animation = &"爬绞肉机最终的"
|
||||
offset = Vector2(88, -105)
|
||||
@ -252,79 +345,8 @@ script = ExtResource("9_vyyx8")
|
||||
autostart = false
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="Ambush小孩山塌了" parent="Ground/DeployLayer" index="6" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2981, 32)
|
||||
trigger_mode = "interact"
|
||||
one_shot = false
|
||||
hook_method = "collapse"
|
||||
|
||||
[node name="LightPivot" type="Marker2D" parent="Ground/DeployLayer" index="7"]
|
||||
position = Vector2(850, 95)
|
||||
|
||||
[node name="AmbushLabel1" parent="Ground/DeployLayer" index="8" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(707, 29)
|
||||
|
||||
[node name="太瘦弱" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -250.0
|
||||
offset_top = -114.0
|
||||
offset_right = 250.0
|
||||
offset_bottom = -73.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]太瘦弱了...[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AmbushLabel2" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(1182, 60)
|
||||
|
||||
[node name="回不了头" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -192.0
|
||||
offset_top = -147.0
|
||||
offset_right = 308.0
|
||||
offset_bottom = -106.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]已经...回不了头了。[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AmbushLabel3" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")]
|
||||
position = Vector2(2504, 48)
|
||||
|
||||
[node name="血" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel3"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = -192.0
|
||||
offset_top = -147.0
|
||||
offset_right = 308.0
|
||||
offset_bottom = -106.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]浇洒髫年血,将她交给我,方能保你平安[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="都一样吧" type="RichTextLabel" parent="Ground/DeployLayer" index="11"]
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
offset_left = 2805.0
|
||||
offset_top = -61.0
|
||||
offset_right = 3305.0
|
||||
offset_bottom = -20.0
|
||||
theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]反正...都一样吧[/wave]"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
[node name="LightPivot" type="Marker2D" parent="Ground/DeployLayer/Ambush最终吃肉"]
|
||||
position = Vector2(0, 95)
|
||||
|
||||
[node name="MainPlayer" parent="Ground" index="5"]
|
||||
position = Vector2(69, 103)
|
||||
@ -339,7 +361,7 @@ limit_right = 1200
|
||||
offset = Vector2(0, 50)
|
||||
|
||||
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
|
||||
points = PackedVector2Array(30, 150, 4000, 151)
|
||||
points = PackedVector2Array(30, 150, 7000, 151)
|
||||
|
||||
[node name="DirectionalLight2D" parent="Ground" index="8"]
|
||||
energy = 0.6
|
||||
@ -349,18 +371,19 @@ range_layer_max = 10
|
||||
|
||||
[node name="ParallaxBackground" type="ParallaxBackground" parent="Ground"]
|
||||
layer = -3
|
||||
scroll_ignore_camera_zoom = true
|
||||
|
||||
[node name="底图" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
motion_scale = Vector2(0.3, 1)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
motion_scale = Vector2(0.3, 0.5)
|
||||
motion_mirroring = Vector2(1200, 316)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/底图"]
|
||||
light_mask = 1025
|
||||
texture = ExtResource("9_mr0pm")
|
||||
|
||||
[node name="PointLight2D底" type="PointLight2D" parent="Ground/ParallaxBackground/底图"]
|
||||
position = Vector2(282, -53)
|
||||
position = Vector2(282, -39)
|
||||
energy = 0.5
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 1024
|
||||
@ -369,7 +392,8 @@ texture_scale = 1.1
|
||||
|
||||
[node name="后山" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
motion_scale = Vector2(0.5, 1)
|
||||
position = Vector2(0, 40)
|
||||
motion_scale = Vector2(0.5, 0.8)
|
||||
motion_mirroring = Vector2(1134, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/后山"]
|
||||
@ -377,7 +401,7 @@ light_mask = 2049
|
||||
texture = ExtResource("10_47wdn")
|
||||
|
||||
[node name="PointLight2D底_后" type="PointLight2D" parent="Ground/ParallaxBackground/后山"]
|
||||
position = Vector2(205, -87)
|
||||
position = Vector2(205, -56)
|
||||
energy = 0.3
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 3072
|
||||
@ -386,8 +410,8 @@ texture_scale = 0.8
|
||||
|
||||
[node name="前山" type="ParallaxLayer" parent="Ground/ParallaxBackground"]
|
||||
z_index = -10
|
||||
position = Vector2(0, 16)
|
||||
motion_scale = Vector2(0.8, 1)
|
||||
position = Vector2(0, 20)
|
||||
motion_scale = Vector2(0.8, 0.9)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Ground/ParallaxBackground/前山"]
|
||||
@ -395,7 +419,7 @@ light_mask = 4097
|
||||
texture = ExtResource("11_vyyx8")
|
||||
|
||||
[node name="PointLight2D底_后_前" type="PointLight2D" parent="Ground/ParallaxBackground/前山"]
|
||||
position = Vector2(307, -141)
|
||||
position = Vector2(259, -77)
|
||||
energy = 0.3
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 7168
|
||||
@ -407,13 +431,22 @@ layer = -1
|
||||
[node name="山前地后" type="ParallaxLayer" parent="Ground/ParallaxBackground2"]
|
||||
|
||||
[node name="小孩山塌了" type="AnimatedSprite2D" parent="Ground/ParallaxBackground2/山前地后"]
|
||||
position = Vector2(3000, -73)
|
||||
light_mask = 1025
|
||||
position = Vector2(5672.84, -25.99)
|
||||
sprite_frames = ExtResource("10_7x1vi")
|
||||
animation = &"小孩山塌了"
|
||||
offset = Vector2(-47.84, -0.01)
|
||||
script = ExtResource("9_vyyx8")
|
||||
autostart = false
|
||||
metadata/_custom_type_script = "uid://cphfob11f7atx"
|
||||
|
||||
[node name="PointLight2D底_后_前" type="PointLight2D" parent="Ground/ParallaxBackground2/山前地后/小孩山塌了"]
|
||||
position = Vector2(51, 134)
|
||||
range_layer_min = -5
|
||||
range_item_cull_mask = 7168
|
||||
texture = ExtResource("13_vyyx8")
|
||||
texture_scale = 1.5
|
||||
|
||||
[node name="地面" type="ParallaxLayer" parent="Ground/ParallaxBackground2"]
|
||||
position = Vector2(0, 101)
|
||||
motion_mirroring = Vector2(1200, 0)
|
||||
@ -421,11 +454,6 @@ motion_mirroring = Vector2(1200, 0)
|
||||
[node name="地面" type="Sprite2D" parent="Ground/ParallaxBackground2/地面"]
|
||||
texture = ExtResource("9_fjio5")
|
||||
|
||||
[node name="遮罩" type="Sprite2D" parent="Ground/ParallaxBackground2/地面"]
|
||||
modulate = Color(0.14902, 0.14902, 0.14902, 0.533333)
|
||||
position = Vector2(0, -101)
|
||||
texture = ExtResource("10_bi3i1")
|
||||
|
||||
[node name="肉1" type="Sprite2D" parent="Ground/ParallaxBackground2/地面"]
|
||||
position = Vector2(-143, -48)
|
||||
texture = ExtResource("11_y18rp")
|
||||
@ -449,6 +477,7 @@ texture = ExtResource("15_7x1vi")
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
|
||||
|
||||
[node name="最终吃肉" type="RichTextLabel" parent="Ground/CanvasLayer"]
|
||||
visible = false
|
||||
light_mask = 3
|
||||
custom_minimum_size = Vector2(500, 0)
|
||||
anchors_preset = 8
|
||||
@ -466,7 +495,7 @@ theme_override_colors/default_color = Color(1, 0, 0, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[wave]又嫩又甜[/wave]"
|
||||
text = "c03_s12_label8"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
|
@ -40,14 +40,14 @@ func _ready() -> void:
|
||||
|
||||
var rotationg_steps := 0
|
||||
var last_step_msec := 0
|
||||
const TOTAL_STEPS = 6 * 3 # 转 3 圈
|
||||
const TOTAL_STEPS = 6 * 4 # 转 4 圈
|
||||
|
||||
|
||||
func _on_wheel_rotated(_radiant: float) -> void:
|
||||
if rotationg_steps >= TOTAL_STEPS:
|
||||
return
|
||||
var time = Time.get_ticks_msec()
|
||||
if time - last_step_msec < 200:
|
||||
if time - last_step_msec < 100:
|
||||
return
|
||||
last_step_msec = time
|
||||
if not wheel_sfx.playing:
|
||||
|
@ -21,14 +21,14 @@ func _on_ground_ready(_ground: Ground2D) -> void:
|
||||
# 进入演出
|
||||
var portal_2_x = $"../portal_2".global_position.x
|
||||
SceneManager.get_player().global_position.x = portal_2_x
|
||||
_fatty_game_finished_show()
|
||||
_fatty_game_finished_show.call_deferred()
|
||||
|
||||
|
||||
func _fatty_game_finished_show() -> void:
|
||||
var player = SceneManager.get_player()
|
||||
var camera = SceneManager.get_camera_marker()
|
||||
SceneManager.lock_player(0, 20)
|
||||
player.set_facing_direction(Vector2.LEFT)
|
||||
SceneManager.lock_player(0, 21, true)
|
||||
var monster = $"../棺材怪切肉" as AnimatedSprite2D
|
||||
monster.show()
|
||||
monster.play("砍桌子")
|
||||
@ -49,8 +49,6 @@ func _fatty_game_finished_show() -> void:
|
||||
create_tween().tween_property(sfx_monster, "volume_db", -100.0, 1.0)
|
||||
create_tween().tween_property(sfx_laugh, "position:x", -500.0, 3.0).as_relative()
|
||||
await Util.wait(3.0)
|
||||
# 镜头恢复前,显示小蝉 & 玩家起身
|
||||
SceneManager.get_player()._play_animation()
|
||||
var ambush_xchan = $"../Ambush小蝉消失" as Ambush2D
|
||||
ambush_xchan.visible = true
|
||||
ambush_xchan.modulate.a = 0.0
|
||||
|
@ -20,7 +20,7 @@ const RESET_Y := -300.0
|
||||
@export var right_static_collision: CollisionShape2D
|
||||
|
||||
@onready var footstep_sfx = $"Sfx2D棺材怪脚步声" as Sfx2D
|
||||
@onready var chop_sfx = $"Sfx2D棺材怪切刀" as Sfx2D
|
||||
@onready var chop_sfx = $"Sfx2D棺材怪切刀" as Sfx
|
||||
|
||||
@onready var remote_left_side = $"左侧" as RemoteTransform2D
|
||||
@onready var remote_right_side = $"右侧" as RemoteTransform2D
|
||||
|
Loading…
Reference in New Issue
Block a user