完成藤蔓平台,关卡命名调整,s10左侧关卡构思
This commit is contained in:
parent
d83053d2d7
commit
2c1ea309ef
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=19 format=3 uid="uid://3vc8ojbiyy5w"]
|
[gd_scene format=3 uid="uid://3vc8ojbiyy5w"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://crgac4manhoud" path="res://_game/game.gd" id="1_yksyv"]
|
[ext_resource type="Script" uid="uid://crgac4manhoud" path="res://_game/game.gd" id="1_yksyv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cvqehvdjpoar4" path="res://_player/player_controller.tscn" id="2_x2i0j"]
|
[ext_resource type="PackedScene" uid="uid://cvqehvdjpoar4" path="res://_player/player_controller.tscn" id="2_x2i0j"]
|
||||||
|
|
@ -14,44 +14,49 @@
|
||||||
[ext_resource type="PackedScene" uid="uid://2d457ndb7toe" path="res://_scene/level1/l1_s8.tscn" id="11_ktxjv"]
|
[ext_resource type="PackedScene" uid="uid://2d457ndb7toe" path="res://_scene/level1/l1_s8.tscn" id="11_ktxjv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dcoq4q3brnkw6" path="res://_scene/level1/l1_s9.tscn" id="12_enubi"]
|
[ext_resource type="PackedScene" uid="uid://dcoq4q3brnkw6" path="res://_scene/level1/l1_s9.tscn" id="12_enubi"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dsw3o2bhc8bve" path="res://_scene/level1/l1_s10.tscn" id="13_53pmm"]
|
[ext_resource type="PackedScene" uid="uid://dsw3o2bhc8bve" path="res://_scene/level1/l1_s10.tscn" id="13_53pmm"]
|
||||||
[ext_resource type="PackedScene" uid="uid://5435tmcn1h0x" path="res://_scene/level1/l1_s10_derivative/l1_s10_1.tscn" id="15_twc26"]
|
[ext_resource type="PackedScene" uid="uid://5435tmcn1h0x" path="res://_scene/level1/l1_s10_derivative/l1_s10_R1.tscn" id="15_twc26"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dalreo21de7vf" path="res://_scene/level1/l1_s10_derivative/l1_s10_2.tscn" id="16_jibn5"]
|
[ext_resource type="PackedScene" uid="uid://dalreo21de7vf" path="res://_scene/level1/l1_s10_derivative/l1_s10_R2.tscn" id="16_jibn5"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d04rrja6xhmp4" path="res://_scene/level1/l1_s10_derivative/l1_s10_3.tscn" id="17_ef7py"]
|
[ext_resource type="PackedScene" uid="uid://d04rrja6xhmp4" path="res://_scene/level1/l1_s10_derivative/l1_s10_R3.tscn" id="17_ef7py"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c681o3efaii8a" path="res://_scene/level1/l1_s10_derivative/l1_s10_4.tscn" id="18_5vsgs"]
|
[ext_resource type="PackedScene" uid="uid://c681o3efaii8a" path="res://_scene/level1/l1_s10_derivative/l1_s10_R4.tscn" id="18_5vsgs"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://rkoopuv5ndr2" path="res://_scene/level1/l1_s10_derivative/l1_s10_L1.tscn" id="19_5ctuh"]
|
||||||
|
|
||||||
[node name="Game" type="Node2D" groups=["PLAYER_RESPAWN"]]
|
[node name="Game" type="Node2D" unique_id=1155642617 groups=["PLAYER_RESPAWN"]]
|
||||||
script = ExtResource("1_yksyv")
|
script = ExtResource("1_yksyv")
|
||||||
|
metadata/_edit_vertical_guides_ = [1074.0]
|
||||||
|
|
||||||
[node name="PlayerController" parent="." instance=ExtResource("2_x2i0j")]
|
[node name="PlayerController" parent="." unique_id=1762035755 instance=ExtResource("2_x2i0j")]
|
||||||
|
|
||||||
[node name="PlateformerCamera" parent="." instance=ExtResource("3_enubi")]
|
[node name="PlateformerCamera" parent="." unique_id=236758593 instance=ExtResource("3_enubi")]
|
||||||
|
|
||||||
[node name="L0_S0" parent="." instance=ExtResource("3_4ifj7")]
|
[node name="L0_S0" parent="." unique_id=468557684 instance=ExtResource("3_4ifj7")]
|
||||||
|
|
||||||
[node name="L1_S1" parent="." instance=ExtResource("4_m1t3p")]
|
[node name="L1_S1" parent="." unique_id=153388085 instance=ExtResource("4_m1t3p")]
|
||||||
|
|
||||||
[node name="L1_S2" parent="." instance=ExtResource("5_5s0xe")]
|
[node name="L1_S2" parent="." unique_id=365454739 instance=ExtResource("5_5s0xe")]
|
||||||
|
|
||||||
[node name="L1_S3" parent="." instance=ExtResource("6_ktxjv")]
|
[node name="L1_S3" parent="." unique_id=1491102572 instance=ExtResource("6_ktxjv")]
|
||||||
|
|
||||||
[node name="L1_S4" parent="." instance=ExtResource("7_x2i0j")]
|
[node name="L1_S4" parent="." unique_id=779321283 instance=ExtResource("7_x2i0j")]
|
||||||
|
|
||||||
[node name="L1_S5" parent="." instance=ExtResource("7_4ifj7")]
|
[node name="L1_S5" parent="." unique_id=1462709098 instance=ExtResource("7_4ifj7")]
|
||||||
|
|
||||||
[node name="L1_S6" parent="." instance=ExtResource("9_m1t3p")]
|
[node name="L1_S6" parent="." unique_id=37322839 instance=ExtResource("9_m1t3p")]
|
||||||
|
|
||||||
[node name="L1_S7" parent="." instance=ExtResource("10_5s0xe")]
|
[node name="L1_S7" parent="." unique_id=384593411 instance=ExtResource("10_5s0xe")]
|
||||||
|
|
||||||
[node name="L1_S8" parent="." instance=ExtResource("11_ktxjv")]
|
[node name="L1_S8" parent="." unique_id=784953402 instance=ExtResource("11_ktxjv")]
|
||||||
|
|
||||||
[node name="L1_S9" parent="." instance=ExtResource("12_enubi")]
|
[node name="L1_S9" parent="." unique_id=997505711 instance=ExtResource("12_enubi")]
|
||||||
|
|
||||||
[node name="L1_S10" parent="." instance=ExtResource("13_53pmm")]
|
[node name="L1_S10" parent="." unique_id=99397381 instance=ExtResource("13_53pmm")]
|
||||||
|
|
||||||
[node name="L1_S10_1" parent="L1_S10" instance=ExtResource("15_twc26")]
|
[node name="L1_S10_R1" parent="L1_S10" unique_id=845126004 instance=ExtResource("15_twc26")]
|
||||||
|
|
||||||
[node name="L1_S10_2" parent="L1_S10" instance=ExtResource("16_jibn5")]
|
[node name="L1_S10_R2" parent="L1_S10" unique_id=692644329 instance=ExtResource("16_jibn5")]
|
||||||
|
|
||||||
[node name="L1_S10_3" parent="L1_S10" instance=ExtResource("17_ef7py")]
|
[node name="L1_S10_R3" parent="L1_S10" unique_id=2065908461 instance=ExtResource("17_ef7py")]
|
||||||
|
|
||||||
[node name="L1_S10_4" parent="L1_S10" instance=ExtResource("18_5vsgs")]
|
[node name="L1_S10_R4" parent="L1_S10" unique_id=1329785958 instance=ExtResource("18_5vsgs")]
|
||||||
|
|
||||||
|
[node name="L1_S10_L1" parent="L1_S10" unique_id=1598546581 instance=ExtResource("19_5ctuh")]
|
||||||
|
position = Vector2(190, 78)
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,10 @@ func _ready() -> void:
|
||||||
#$L1_S8.switch_act_by_id(1)
|
#$L1_S8.switch_act_by_id(1)
|
||||||
#$L1_S9.switch_act_by_id(1)
|
#$L1_S9.switch_act_by_id(1)
|
||||||
#$L1_S10.switch_act_by_id(1)
|
#$L1_S10.switch_act_by_id(1)
|
||||||
#$L1_S10/L1_S10_1.switch_act_by_id(1)
|
$L1_S10/L1_S10_R1.switch_act_by_id(1)
|
||||||
$L1_S10/L1_S10_2.switch_act_by_id(1)
|
#$L1_S10/L1_S10_R2.switch_act_by_id(1)
|
||||||
|
#$L1_S10/L1_S10_R3.switch_act_by_id(1)
|
||||||
|
#$L1_S10/L1_S10_R4.switch_act_by_id(1)
|
||||||
GlobalEvent.player_follow_camera()
|
GlobalEvent.player_follow_camera()
|
||||||
await get_tree().process_frame
|
await get_tree().process_frame
|
||||||
get_tree().call_group(&"PLAYER_RESPAWN",&"respawn_avatar")
|
get_tree().call_group(&"PLAYER_RESPAWN",&"respawn_avatar")
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://bjjxh7g7iosla"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" format=3 uid="uid://bjjxh7g7iosla"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_4meba"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_4meba"]
|
||||||
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_qrdf4"]
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_qrdf4"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://458r8rf7x02p"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" format=3 uid="uid://458r8rf7x02p"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_lgnrf"]
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_lgnrf"]
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="2_lgnrf"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="2_lgnrf"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://dd4df6yjkeifa"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" format=3 uid="uid://dd4df6yjkeifa"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_bxu3h"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_bxu3h"]
|
||||||
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_y2h7j"]
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_y2h7j"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_resource type="Resource" script_class="ReedPropEffect" load_steps=6 format=3 uid="uid://b6iglvt36pm55"]
|
[gd_resource type="Resource" script_class="ReedPropEffect" format=3 uid="uid://b6iglvt36pm55"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_3md03"]
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="1_3md03"]
|
||||||
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_uj0dv"]
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="1_uj0dv"]
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,176 @@
|
||||||
extends Node
|
class_name VinePlatform
|
||||||
|
extends StaticBody2D
|
||||||
|
|
||||||
|
|
||||||
|
## ===== 节点引用 =====
|
||||||
|
@onready var player_trigger: Area2D = %PlayerTriggerVolumn
|
||||||
|
@onready var hook_trigger: Area2D = %HookAttractVolumn
|
||||||
|
@onready var sprite: Sprite2D = $Sprite2D
|
||||||
|
@onready var collision: CollisionShape2D = $CollisionShape2D
|
||||||
|
|
||||||
|
|
||||||
|
## ===== 配置 =====
|
||||||
|
|
||||||
|
## 触发到消失的总时间(固定)
|
||||||
|
@export var destroy_total_time: float = 2.0
|
||||||
|
|
||||||
|
## 触发后多久开始抖动(可调)
|
||||||
|
@export var shake_start_time: float = 1.0
|
||||||
|
|
||||||
|
## 消失后多久恢复(再生时间)
|
||||||
|
@export var respawn_time: float = 3.0
|
||||||
|
|
||||||
|
|
||||||
|
## 抖动参数
|
||||||
|
@export var shake_x: float = 1.0
|
||||||
|
@export var shake_y: float = 1.0
|
||||||
|
@export var step_time: float = 0.034
|
||||||
|
|
||||||
|
|
||||||
|
## ===== 状态机 =====
|
||||||
|
enum State {
|
||||||
|
IDLE,
|
||||||
|
TRIGGERED,
|
||||||
|
DISAPPEARED
|
||||||
|
}
|
||||||
|
|
||||||
|
var _current_state: State = State.IDLE
|
||||||
|
|
||||||
|
|
||||||
|
## ===== 抖动控制 =====
|
||||||
|
var _shake_tween: Tween
|
||||||
|
var _shake_origin_pos: Vector2
|
||||||
|
|
||||||
|
## 防止重复触发
|
||||||
|
var _sequence_started := false
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
pass # Replace with function body.
|
player_trigger.body_entered.connect(_on_player_entered)
|
||||||
|
hook_trigger.body_entered.connect(_on_hook_hit)
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
## ==============================
|
||||||
func _process(delta: float) -> void:
|
## 状态切换
|
||||||
pass
|
## ==============================
|
||||||
|
func change_state(new_state: State) -> void:
|
||||||
|
if new_state == _current_state:
|
||||||
|
return
|
||||||
|
|
||||||
|
_current_state = new_state
|
||||||
|
|
||||||
|
match new_state:
|
||||||
|
State.IDLE:
|
||||||
|
_enable_platform(true)
|
||||||
|
|
||||||
|
State.TRIGGERED:
|
||||||
|
_start_destroy_sequence()
|
||||||
|
|
||||||
|
State.DISAPPEARED:
|
||||||
|
_disappear_and_respawn()
|
||||||
|
|
||||||
|
|
||||||
|
## ==============================
|
||||||
|
## 触发入口
|
||||||
|
## ==============================
|
||||||
|
|
||||||
|
func _on_player_entered(body: Node) -> void:
|
||||||
|
if body is Player:
|
||||||
|
_trigger_platform()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_hook_hit(hit_pos: Vector2, hook: Hook) -> void:
|
||||||
|
_trigger_platform()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _trigger_platform() -> void:
|
||||||
|
if _sequence_started:
|
||||||
|
return
|
||||||
|
_sequence_started = true
|
||||||
|
|
||||||
|
print("藤蔓平台触发:2秒后消失,再生时间:", respawn_time)
|
||||||
|
|
||||||
|
change_state(State.TRIGGERED)
|
||||||
|
|
||||||
|
|
||||||
|
## ==============================
|
||||||
|
## 销毁流程:抖动 + 消失(非销毁)
|
||||||
|
## ==============================
|
||||||
|
func _start_destroy_sequence() -> void:
|
||||||
|
var shake_time: float = clampf(shake_start_time, 0.0, destroy_total_time)
|
||||||
|
var remaining_time: float = destroy_total_time - shake_time
|
||||||
|
|
||||||
|
# 前半段静止
|
||||||
|
if shake_time > 0.0:
|
||||||
|
await get_tree().create_timer(shake_time).timeout
|
||||||
|
|
||||||
|
# 后半段抖动
|
||||||
|
if remaining_time > 0.0:
|
||||||
|
start_shaking()
|
||||||
|
await get_tree().create_timer(remaining_time).timeout
|
||||||
|
|
||||||
|
stop_shaking()
|
||||||
|
|
||||||
|
# 进入消失状态
|
||||||
|
change_state(State.DISAPPEARED)
|
||||||
|
|
||||||
|
|
||||||
|
## ==============================
|
||||||
|
## 消失 + 再生
|
||||||
|
## ==============================
|
||||||
|
func _disappear_and_respawn() -> void:
|
||||||
|
print("平台消失,等待再生...")
|
||||||
|
|
||||||
|
# 关闭平台
|
||||||
|
_enable_platform(false)
|
||||||
|
|
||||||
|
# 等待再生时间
|
||||||
|
await get_tree().create_timer(respawn_time).timeout
|
||||||
|
|
||||||
|
print("平台恢复!")
|
||||||
|
|
||||||
|
# 重置触发锁
|
||||||
|
_sequence_started = false
|
||||||
|
|
||||||
|
# 回到初始状态
|
||||||
|
change_state(State.IDLE)
|
||||||
|
|
||||||
|
|
||||||
|
## ==============================
|
||||||
|
## 启用/禁用平台(关键)
|
||||||
|
## ==============================
|
||||||
|
func _enable_platform(enable: bool) -> void:
|
||||||
|
sprite.visible = enable
|
||||||
|
collision.disabled = not enable
|
||||||
|
|
||||||
|
player_trigger.monitoring = enable
|
||||||
|
hook_trigger.monitoring = enable
|
||||||
|
|
||||||
|
|
||||||
|
## ==============================
|
||||||
|
## 抖动效果
|
||||||
|
## ==============================
|
||||||
|
func start_shaking() -> void:
|
||||||
|
if _shake_tween and _shake_tween.is_running():
|
||||||
|
return
|
||||||
|
|
||||||
|
_shake_origin_pos = sprite.position
|
||||||
|
|
||||||
|
_shake_tween = create_tween()
|
||||||
|
_shake_tween.set_loops()
|
||||||
|
_shake_tween.set_trans(Tween.TRANS_SINE)
|
||||||
|
_shake_tween.set_ease(Tween.EASE_IN_OUT)
|
||||||
|
|
||||||
|
_shake_tween.tween_property(sprite, "position", _shake_origin_pos + Vector2(-shake_x, -shake_y), step_time)
|
||||||
|
_shake_tween.tween_property(sprite, "position", _shake_origin_pos + Vector2(shake_x, shake_y), step_time)
|
||||||
|
_shake_tween.tween_property(sprite, "position", _shake_origin_pos + Vector2(-shake_x, shake_y), step_time)
|
||||||
|
_shake_tween.tween_property(sprite, "position", _shake_origin_pos + Vector2(shake_x, -shake_y), step_time)
|
||||||
|
|
||||||
|
|
||||||
|
func stop_shaking() -> void:
|
||||||
|
if _shake_tween:
|
||||||
|
_shake_tween.kill()
|
||||||
|
_shake_tween = null
|
||||||
|
|
||||||
|
sprite.position = _shake_origin_pos
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,45 @@
|
||||||
[gd_scene format=3 uid="uid://dfwups0m7a5m4"]
|
[gd_scene format=3 uid="uid://dfwups0m7a5m4"]
|
||||||
|
|
||||||
[node name="VinePlatform" type="Node2D"]
|
[ext_resource type="Texture2D" uid="uid://c673bap4b12fx" path="res://icon.svg" id="1_a6xdh"]
|
||||||
|
[ext_resource type="Script" uid="uid://bog8pjjhrcd3g" path="res://_props/vine_platform/vine_platform.gd" id="1_jux4m"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="2_1eb6k"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1eb6k"]
|
||||||
|
size = Vector2(32, 16)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1ul4y"]
|
||||||
|
size = Vector2(32, 24)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jux4m"]
|
||||||
|
size = Vector2(38, 22)
|
||||||
|
|
||||||
|
[node name="VinePlatform" type="StaticBody2D" unique_id=1779509136 groups=["GRAPABLE"]]
|
||||||
|
collision_layer = 4
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_jux4m")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1586582263]
|
||||||
|
scale = Vector2(0.24999999, 0.125)
|
||||||
|
texture = ExtResource("1_a6xdh")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=314807201]
|
||||||
|
shape = SubResource("RectangleShape2D_1eb6k")
|
||||||
|
debug_color = Color(1, 0.24705882, 0.40784314, 0.41960785)
|
||||||
|
|
||||||
|
[node name="PlayerTriggerVolumn" parent="." unique_id=869831136 instance=ExtResource("2_1eb6k")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
debug_print = false
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerTriggerVolumn" unique_id=209979624]
|
||||||
|
position = Vector2(0, -4)
|
||||||
|
shape = SubResource("RectangleShape2D_1ul4y")
|
||||||
|
debug_color = Color(0.19215687, 0.6431373, 0, 0)
|
||||||
|
|
||||||
|
[node name="HookAttractVolumn" type="Area2D" parent="." unique_id=71519728]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
collision_layer = 32
|
||||||
|
collision_mask = 0
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="HookAttractVolumn" unique_id=1847255495]
|
||||||
|
shape = SubResource("RectangleShape2D_jux4m")
|
||||||
|
debug_color = Color(1, 0, 0.14509805, 0)
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,201 @@
|
||||||
|
[gd_scene format=4 uid="uid://rkoopuv5ndr2"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://5e157vdk6175" path="res://addons/reedscene/scene/ReedScene.gd" id="1_o4f8j"]
|
||||||
|
[ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_xt22h"]
|
||||||
|
[ext_resource type="Script" uid="uid://dn0ksjoswquf5" path="res://addons/reedscene/scene/SceneManager.gd" id="3_xmu2d"]
|
||||||
|
[ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="4_dijx0"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bym4pb0ellj7b" path="res://_scene/scene_trigger_resource/default_switch.tres" id="5_n38ht"]
|
||||||
|
[ext_resource type="Script" uid="uid://dsgl7lbyjsiif" path="res://addons/reedscene/act/ActManager.gd" id="6_yoilp"]
|
||||||
|
[ext_resource type="Script" uid="uid://fxpk2ot6otfh" path="res://addons/reedscene/act/Act.gd" id="7_v6a6i"]
|
||||||
|
[ext_resource type="Script" uid="uid://baqgorvlumyju" path="res://addons/reedscene/act/SingleAct.gd" id="8_lxf02"]
|
||||||
|
[ext_resource type="Script" uid="uid://pxjf5vst08eo" path="res://addons/reedscene/prop/PropManager.gd" id="9_bpwnr"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bflwr7cryd2l0" path="res://_camera/CameraAnchor.tscn" id="10_4eht7"]
|
||||||
|
[ext_resource type="Script" uid="uid://b4menkyub4ce7" path="res://addons/reedscene/prop/PropComponent.gd" id="11_tli2f"]
|
||||||
|
[ext_resource type="Script" uid="uid://di41kt2tj34c2" path="res://addons/reedscene/prop/StateManager.gd" id="12_se3ue"]
|
||||||
|
[ext_resource type="Script" uid="uid://7lml6d1t5xtq" path="res://addons/reedscene/prop/PropState.gd" id="13_kqge0"]
|
||||||
|
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/Effect/ReedPropEffect.gd" id="14_h8iwj"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bjjxh7g7iosla" path="res://_props/_camera/camera_anchor_disable.tres" id="15_obh84"]
|
||||||
|
[ext_resource type="Resource" uid="uid://458r8rf7x02p" path="res://_props/_camera/camera_anchor_enable.tres" id="16_bpxc0"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bonrls3iuhdqb" path="res://_props/_prefabs/player/player_trigger_volumn.tscn" id="17_lpnk4"]
|
||||||
|
[ext_resource type="Resource" uid="uid://dd4df6yjkeifa" path="res://_props/_prefabs/player/effect/player_trigger_volumn_disable.tres" id="18_o05e8"]
|
||||||
|
[ext_resource type="Resource" uid="uid://b6iglvt36pm55" path="res://_props/_prefabs/player/effect/player_trigger_volumn_enable.tres" id="19_efmxf"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cxgcmdxlbwwjh" path="res://_props/_prefabs/player/player_respawn_point.tscn" id="20_wn5en"]
|
||||||
|
[ext_resource type="Script" uid="uid://bf1qlvdbf8qdp" path="res://addons/reedscene/prop/Effect/EAT_CallFunc.gd" id="21_5xf6r"]
|
||||||
|
[ext_resource type="Script" uid="uid://8cqs3i8sr8b1" path="res://addons/reedscene/prop/Effect/ETT_Owner.gd" id="22_5odgk"]
|
||||||
|
[ext_resource type="TileSet" uid="uid://doepkfp83k0lb" path="res://_tileset/test.tres" id="23_wpd7o"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_6bhoi"]
|
||||||
|
script = ExtResource("8_lxf02")
|
||||||
|
metadata/_custom_type_script = "uid://baqgorvlumyju"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_0dl6r"]
|
||||||
|
script = ExtResource("8_lxf02")
|
||||||
|
state_id = 1
|
||||||
|
metadata/_custom_type_script = "uid://baqgorvlumyju"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_pfh14"]
|
||||||
|
script = ExtResource("8_lxf02")
|
||||||
|
metadata/_custom_type_script = "uid://baqgorvlumyju"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_sv1n5"]
|
||||||
|
script = ExtResource("7_v6a6i")
|
||||||
|
prop_state_map = Dictionary[int, ExtResource("8_lxf02")]({
|
||||||
|
0: SubResource("Resource_6bhoi"),
|
||||||
|
1: SubResource("Resource_0dl6r"),
|
||||||
|
2: SubResource("Resource_pfh14")
|
||||||
|
})
|
||||||
|
metadata/_custom_type_script = "uid://fxpk2ot6otfh"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_rvnvs"]
|
||||||
|
script = ExtResource("8_lxf02")
|
||||||
|
state_id = 1
|
||||||
|
metadata/_custom_type_script = "uid://baqgorvlumyju"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_3jyxx"]
|
||||||
|
script = ExtResource("8_lxf02")
|
||||||
|
metadata/_custom_type_script = "uid://baqgorvlumyju"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_dalgl"]
|
||||||
|
script = ExtResource("8_lxf02")
|
||||||
|
state_id = 1
|
||||||
|
metadata/_custom_type_script = "uid://baqgorvlumyju"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_fwmv2"]
|
||||||
|
script = ExtResource("7_v6a6i")
|
||||||
|
prop_state_map = Dictionary[int, ExtResource("8_lxf02")]({
|
||||||
|
0: SubResource("Resource_rvnvs"),
|
||||||
|
1: SubResource("Resource_3jyxx"),
|
||||||
|
2: SubResource("Resource_dalgl")
|
||||||
|
})
|
||||||
|
metadata/_custom_type_script = "uid://fxpk2ot6otfh"
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nvw5u"]
|
||||||
|
size = Vector2(745, 470.73492)
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_ctwrc"]
|
||||||
|
script = ExtResource("21_5xf6r")
|
||||||
|
func_name = &"pop_respawner"
|
||||||
|
metadata/_custom_type_script = "uid://bf1qlvdbf8qdp"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_0u6xi"]
|
||||||
|
script = ExtResource("22_5odgk")
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_r0e2c"]
|
||||||
|
script = ExtResource("14_h8iwj")
|
||||||
|
effect_target_type = SubResource("Resource_0u6xi")
|
||||||
|
effect_apply_type = SubResource("Resource_ctwrc")
|
||||||
|
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_hatj6"]
|
||||||
|
script = ExtResource("21_5xf6r")
|
||||||
|
func_name = &"push_respawner"
|
||||||
|
metadata/_custom_type_script = "uid://bf1qlvdbf8qdp"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_o2v7x"]
|
||||||
|
script = ExtResource("22_5odgk")
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_ubvm0"]
|
||||||
|
script = ExtResource("14_h8iwj")
|
||||||
|
effect_target_type = SubResource("Resource_o2v7x")
|
||||||
|
effect_apply_type = SubResource("Resource_hatj6")
|
||||||
|
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
|
||||||
|
|
||||||
|
[node name="L1_S10_R4" type="Node2D" unique_id=1598546581]
|
||||||
|
editor_description = "右侧落石触发后击中龟裂岩层,形成两条通路:向上前往l1_s10_3;向下打通l1_s10_1的路"
|
||||||
|
script = ExtResource("1_o4f8j")
|
||||||
|
metadata/_custom_type_script = "uid://5e157vdk6175"
|
||||||
|
|
||||||
|
[node name="[Invalid!]" type="Node" parent="." unique_id=646196142]
|
||||||
|
script = ExtResource("2_xt22h")
|
||||||
|
|
||||||
|
[node name="SceneManager" type="Node" parent="." unique_id=401167145]
|
||||||
|
script = ExtResource("3_xmu2d")
|
||||||
|
quick_trigger = Array[ExtResource("4_dijx0")]([ExtResource("5_n38ht")])
|
||||||
|
|
||||||
|
[node name="ActManager" type="Node" parent="." unique_id=763626072]
|
||||||
|
script = ExtResource("6_yoilp")
|
||||||
|
prop_state_map = Dictionary[int, ExtResource("7_v6a6i")]({
|
||||||
|
0: SubResource("Resource_sv1n5"),
|
||||||
|
1: SubResource("Resource_fwmv2")
|
||||||
|
})
|
||||||
|
init_act_id = 0
|
||||||
|
|
||||||
|
[node name="Props" type="Node2D" parent="." unique_id=171021219]
|
||||||
|
script = ExtResource("9_bpwnr")
|
||||||
|
|
||||||
|
[node name="CameraAnchor" parent="Props" unique_id=901470129 instance=ExtResource("10_4eht7")]
|
||||||
|
position = Vector2(734, -2012)
|
||||||
|
zoom = Vector2(1, 1)
|
||||||
|
limit_top = -185
|
||||||
|
limit_bottom = 185
|
||||||
|
limit_left = -320
|
||||||
|
limit_right = 290
|
||||||
|
|
||||||
|
[node name="[Prop_0000]" type="Node" parent="Props/CameraAnchor" unique_id=2107924787]
|
||||||
|
script = ExtResource("11_tli2f")
|
||||||
|
prop_id = 0
|
||||||
|
|
||||||
|
[node name="States" type="Node" parent="Props/CameraAnchor/[Prop_0000]" unique_id=431268830]
|
||||||
|
script = ExtResource("12_se3ue")
|
||||||
|
|
||||||
|
[node name="[ID_0] Disable" type="Node" parent="Props/CameraAnchor/[Prop_0000]/States" unique_id=1989686279]
|
||||||
|
script = ExtResource("13_kqge0")
|
||||||
|
state_id = 0
|
||||||
|
effects = Array[ExtResource("14_h8iwj")]([ExtResource("15_obh84")])
|
||||||
|
|
||||||
|
[node name="[ID_1] Enable" type="Node" parent="Props/CameraAnchor/[Prop_0000]/States" unique_id=1332631643]
|
||||||
|
script = ExtResource("13_kqge0")
|
||||||
|
state_id = 1
|
||||||
|
effects = Array[ExtResource("14_h8iwj")]([ExtResource("16_bpxc0")])
|
||||||
|
|
||||||
|
[node name="PlayerTriggerVolumn" parent="Props" unique_id=482697410 instance=ExtResource("17_lpnk4")]
|
||||||
|
visible = false
|
||||||
|
position = Vector2(816, -2136)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Props/PlayerTriggerVolumn" unique_id=1008103022]
|
||||||
|
position = Vector2(-132.5, 144.63257)
|
||||||
|
shape = SubResource("RectangleShape2D_nvw5u")
|
||||||
|
debug_color = Color(0.56463546, 0.55446386, 0.07705598, 0.41960785)
|
||||||
|
|
||||||
|
[node name="[Prop_0001]" type="Node" parent="Props/PlayerTriggerVolumn" unique_id=1211005631]
|
||||||
|
script = ExtResource("11_tli2f")
|
||||||
|
prop_id = 1
|
||||||
|
|
||||||
|
[node name="States" type="Node" parent="Props/PlayerTriggerVolumn/[Prop_0001]" unique_id=982089992]
|
||||||
|
script = ExtResource("12_se3ue")
|
||||||
|
|
||||||
|
[node name="[ID_0] Disable" type="Node" parent="Props/PlayerTriggerVolumn/[Prop_0001]/States" unique_id=483138117]
|
||||||
|
script = ExtResource("13_kqge0")
|
||||||
|
state_id = 0
|
||||||
|
effects = Array[ExtResource("14_h8iwj")]([ExtResource("18_o05e8")])
|
||||||
|
|
||||||
|
[node name="[ID_1] Enable" type="Node" parent="Props/PlayerTriggerVolumn/[Prop_0001]/States" unique_id=1044439139]
|
||||||
|
script = ExtResource("13_kqge0")
|
||||||
|
state_id = 1
|
||||||
|
effects = Array[ExtResource("14_h8iwj")]([ExtResource("19_efmxf")])
|
||||||
|
|
||||||
|
[node name="PlayerRespawnPoint" parent="Props" unique_id=924964703 instance=ExtResource("20_wn5en")]
|
||||||
|
position = Vector2(893, -1869)
|
||||||
|
|
||||||
|
[node name="[Prop_0002]" type="Node" parent="Props/PlayerRespawnPoint" unique_id=339110471]
|
||||||
|
script = ExtResource("11_tli2f")
|
||||||
|
prop_id = 2
|
||||||
|
|
||||||
|
[node name="States" type="Node" parent="Props/PlayerRespawnPoint/[Prop_0002]" unique_id=1050487094]
|
||||||
|
script = ExtResource("12_se3ue")
|
||||||
|
|
||||||
|
[node name="[ID_0] Disable" type="Node" parent="Props/PlayerRespawnPoint/[Prop_0002]/States" unique_id=429861633]
|
||||||
|
script = ExtResource("13_kqge0")
|
||||||
|
state_id = 0
|
||||||
|
effects = Array[ExtResource("14_h8iwj")]([SubResource("Resource_r0e2c")])
|
||||||
|
|
||||||
|
[node name="[ID_1] Enable" type="Node" parent="Props/PlayerRespawnPoint/[Prop_0002]/States" unique_id=2071507006]
|
||||||
|
script = ExtResource("13_kqge0")
|
||||||
|
state_id = 1
|
||||||
|
effects = Array[ExtResource("14_h8iwj")]([SubResource("Resource_ubvm0")])
|
||||||
|
|
||||||
|
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=262089249 groups=["GRAPABLE"]]
|
||||||
|
tile_map_data = PackedByteArray("AABBAIb/AAAAAAAAAABBAIf/AAAAAAAAAABBAIj/AAAAAAAAAABBAIn/AAAAAAAAAABBAIr/AAAAAAAAAABBAIv/AAAAAAAAAABBAIz/AAAAAAAAAABBAI3/AAAAAAAAAABAAI3/AAAAAAAAAAA/AI3/AAAAAAAAAAAxAI3/AAAAAAAAAAAwAI3/AAAAAAAAAAAvAI3/AAAAAAAAAAAuAI3/AAAAAAAAAAAtAI3/AAAAAAAAAAAsAI3/AAAAAAAAAAArAI3/AAAAAAAAAAAqAI3/AAAAAAAAAAApAI3/AAAAAAAAAAAoAI3/AAAAAAAAAAAnAI3/AAAAAAAAAAAmAI3/AAAAAAAAAAAlAI3/AAAAAAAAAAAkAI3/AAAAAAAAAAAjAI3/AAAAAAAAAAAiAI3/AAAAAAAAAAAhAI3/AAAAAAAAAAAgAI3/AAAAAAAAAAAfAI3/AAAAAAAAAAAeAI3/AAAAAAAAAAAdAI3/AAAAAAAAAAAcAI3/AAAAAAAAAAAbAI3/AAAAAAAAAAAaAI3/AAAAAAAAAAAyAI3/AAAAAAAAAAAzAI3/AAAAAAAAAAA0AI3/AAAAAAAAAAA1AI3/AAAAAAAAAAA2AI3/AAAAAAAAAAA3AI3/AAAAAAAAAAA4AI3/AAAAAAAAAAA5AI3/AAAAAAAAAAA6AI3/AAAAAAAAAAA7AI3/AAAAAAAAAAA8AI3/AAAAAAAAAAA9AI3/AAAAAAAAAAA+AI3/AAAAAAAAAABBAIH/AAAAAAAAAABBAID/AAAAAAAAAABBAH//AAAAAAAAAABBAH7/AAAAAAAAAABBAH3/AAAAAAAAAABBAHz/AAAAAAAAAABBAHv/AAAAAAAAAABBAHr/AAAAAAAAAABBAHn/AAAAAAAAAABBAHj/AAAAAAAAAABBAHf/AAAAAAAAAAA=")
|
||||||
|
tile_set = ExtResource("23_wpd7o")
|
||||||
|
|
||||||
|
[connection signal="player_entered" from="Props/PlayerTriggerVolumn" to="SceneManager" method="_on_player_trigger_volumn_player_entered"]
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_resource type="Resource" script_class="SceneTrigger" load_steps=19 format=3 uid="uid://bym4pb0ellj7b"]
|
[gd_resource type="Resource" script_class="SceneTrigger" format=3 uid="uid://bym4pb0ellj7b"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="2_cq8o1"]
|
[ext_resource type="Script" uid="uid://ons77en82uls" path="res://addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd" id="2_cq8o1"]
|
||||||
[ext_resource type="Script" uid="uid://dxj5vimigc651" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffectPair.gd" id="3_m0qh3"]
|
[ext_resource type="Script" uid="uid://dxj5vimigc651" path="res://addons/reedscene/scene/scene_trigger/base/SceneTriggerEffectPair.gd" id="3_m0qh3"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_resource type="TileSet" load_steps=4 format=3 uid="uid://doepkfp83k0lb"]
|
[gd_resource type="TileSet" format=3 uid="uid://doepkfp83k0lb"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://doxhsab56pe50" path="res://_asset/all.png" id="1_26tvm"]
|
[ext_resource type="Texture2D" uid="uid://doxhsab56pe50" path="res://_asset/all.png" id="1_26tvm"]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,15 @@
|
||||||
|
|
||||||
config_version=5
|
config_version=5
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
|
||||||
|
compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||||
|
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="godot-plateformer"
|
config/name="godot-plateformer"
|
||||||
run/main_scene="uid://3vc8ojbiyy5w"
|
run/main_scene="uid://3vc8ojbiyy5w"
|
||||||
config/features=PackedStringArray("4.5", "Forward Plus")
|
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue