[gd_scene load_steps=7 format=2] [ext_resource path="res://objects/environment/turniwood/turning_platform.gd" type="Script" id=1] [ext_resource path="res://graphics/turniwood/turning_platform_yellow.png" type="Texture" id=2] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 4, 1 ) [sub_resource type="RectangleShape2D" id=4] extents = Vector2( 3.5, 0.5 ) [sub_resource type="Animation" id=2] resource_name = "idle" loop = true step = 0.125 tracks/0/type = "value" tracks/0/path = NodePath("Sprite:region_rect") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ Rect2( 0, 0, 8, 8 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Sprite:rotation_degrees") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ 0.0 ] } tracks/2/type = "value" tracks/2/path = NodePath("StaticBody2D/CollisionShape2D:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ false ] } [sub_resource type="Animation" id=3] resource_name = "turn" length = 0.9 step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath("StaticBody2D/CollisionShape2D:disabled") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0.4, 0.55, 0.9 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 1, "values": [ false, true, false ] } tracks/1/type = "value" tracks/1/path = NodePath("Sprite:region_rect") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0.4, 0.55, 0.65, 0.8, 0.9 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1 ), "update": 1, "values": [ Rect2( 0, 0, 8, 8 ), Rect2( 8, 0, 8, 8 ), Rect2( 0, 0, 8, 8 ), Rect2( 8, 0, 8, 8 ), Rect2( 0, 0, 8, 8 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Sprite:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0.4, 0.55, 0.65, 0.8, 0.9 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1 ), "update": 1, "values": [ 0.0, 90.0, 90.0, 0.0, 0.0 ] } tracks/3/type = "value" tracks/3/path = NodePath("Sprite:position") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0.15, 0.2, 0.35, 0.4 ), "transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 4, 4 ), Vector2( 5, 4 ), Vector2( 3, 4 ), Vector2( 4, 4 ) ] } [node name="TurningPlatform" type="Node2D"] script = ExtResource( 1 ) [node name="Sprite" type="Sprite" parent="."] position = Vector2( 4, 4 ) texture = ExtResource( 2 ) region_enabled = true region_rect = Rect2( 0, 0, 8, 8 ) [node name="StaticBody2D" type="StaticBody2D" parent="."] collision_layer = 4 [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] visible = false position = Vector2( 4, 4 ) shape = SubResource( 1 ) one_way_collision = true [node name="DetectPlayer" type="Area2D" parent="."] collision_layer = 0 collision_mask = 128 monitoring = false monitorable = false [node name="CollisionShape2D" type="CollisionShape2D" parent="DetectPlayer"] position = Vector2( 4, 4 ) shape = SubResource( 4 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/idle = SubResource( 2 ) anims/turn = SubResource( 3 ) [node name="FlipTimer" type="Timer" parent="."] [node name="DelayTimer" type="Timer" parent="."] one_shot = true [connection signal="body_entered" from="DetectPlayer" to="." method="_on_DetectPlayer_body_entered"] [connection signal="body_exited" from="DetectPlayer" to="." method="_on_DetectPlayer_body_exited"] [connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"] [connection signal="timeout" from="FlipTimer" to="." method="_on_FlipTimer_timeout"] [connection signal="timeout" from="DelayTimer" to="." method="_on_DelayTimer_timeout"]