Animation defenition moved to player_sprite.gd

This commit is contained in:
2026-02-03 00:00:51 +03:00
parent 63710b691b
commit 67c5f8e4d5
16 changed files with 116 additions and 53 deletions
@@ -0,0 +1,70 @@
[gd_scene format=3 uid="uid://dtcad8tdx78tg"]
[ext_resource type="Script" uid="uid://bb8kc32sggrn2" path="res://game/characters/player/player.gd" id="1_xln5q"]
[ext_resource type="PackedScene" uid="uid://5qlocc0yu8ug" path="res://game/collision_switcher.tscn" id="2_j06tb"]
[ext_resource type="PackedScene" uid="uid://cvx6akiplg21s" path="res://game/characters/player/player_sprite.tscn" id="2_n6ad3"]
[ext_resource type="PackedScene" uid="uid://bdk23k2bypj8w" path="res://game/characters/player/state_machine/player_state_machine.tscn" id="4_ybe51"]
[ext_resource type="PackedScene" uid="uid://c0d4wfdg7xjti" path="res://game/characters/player/state_machine/player_state.tscn" id="5_65114"]
[ext_resource type="Script" uid="uid://bnxccvt265hlu" path="res://game/characters/player/state_machine/idle_state.gd" id="6_3qf5w"]
[ext_resource type="Script" uid="uid://nc62375vpnsw" path="res://game/characters/player/state_machine/walk_left_state.gd" id="7_btbyc"]
[ext_resource type="Script" uid="uid://cbv84l1duwfep" path="res://game/characters/player/state_machine/look_around_state.gd" id="7_ybe51"]
[ext_resource type="Script" uid="uid://cxa3hf7tqpeoa" path="res://game/characters/player/state_machine/jump_state.gd" id="8_ebhjm"]
[ext_resource type="Script" uid="uid://d2uiegcx4jeuk" path="res://game/characters/player/state_machine/dead_state.gd" id="9_gdxv1"]
[ext_resource type="Script" uid="uid://kufq6bwnv80t" path="res://game/characters/player/state_machine/walk_right_state.gd" id="9_wdx7h"]
[ext_resource type="Script" uid="uid://c0bbmif5ucw28" path="res://game/characters/player/state_machine/jump_left_state.gd" id="11_q2504"]
[ext_resource type="Script" uid="uid://cr0hkb4wggcys" path="res://game/characters/player/state_machine/jump_right_state.gd" id="12_l8uo5"]
[ext_resource type="Script" uid="uid://c7myrm50fnpfn" path="res://game/characters/player/state_machine/fall_state.gd" id="13_m2bqk"]
[ext_resource type="Script" uid="uid://cmimnl6jf78ao" path="res://game/characters/player/state_machine/fall_left_state.gd" id="14_2lnxg"]
[ext_resource type="Script" uid="uid://5s7ko6pcqagy" path="res://game/characters/player/state_machine/fall_right_state.gd" id="15_bfpdl"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_xln5q"]
radius = 4.0
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_t6gq4"]
radius = 2.0
height = 15.0
[node name="Player" type="CharacterBody2D" unique_id=508706417]
collision_layer = 128
collision_mask = 33
script = ExtResource("1_xln5q")
[node name="AnimatedSprite2D" parent="." unique_id=237719081 instance=ExtResource("2_n6ad3")]
animation = &"jump_right"
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1101386361]
position = Vector2(0, 1)
shape = SubResource("CapsuleShape2D_xln5q")
[node name="CollisionSwitcher" parent="." unique_id=601548821 node_paths=PackedStringArray("object") instance=ExtResource("2_j06tb")]
object = NodePath("..")
[node name="Camera2D" type="Camera2D" parent="." unique_id=45512317]
process_callback = 0
position_smoothing_enabled = true
[node name="Pickups" type="Node2D" parent="." unique_id=958829860]
position = Vector2(0, -24)
[node name="JumpBufferTimer" type="Timer" parent="." unique_id=740877224]
wait_time = 0.1
one_shot = true
[node name="CoyoteTimeTimer" type="Timer" parent="." unique_id=117837002]
wait_time = 0.1
one_shot = true
[node name="CenterArea2D" type="Area2D" parent="." unique_id=490866430]
collision_layer = 0
collision_mask = 35
[node name="CollisionShape2D" type="CollisionShape2D" parent="CenterArea2D" unique_id=1350886064]
shape = SubResource("CapsuleShape2D_t6gq4")
[node name="PlayerStateMachine" parent="." unique_id=633169960 node_paths=PackedStringArray("player", "initial_state") instance=ExtResource("4_ybe51")]
player = NodePath("..")
initial_state = NodePath("IdleState")
[node name="IdleState" parent="PlayerStateMachine" unique_id=739226464 node_paths=PackedStringArray("look_around_state") instance=ExtResource("5_65114")]
script = ExtResource("6_3qf5w")
player = Object(CharacterBody2D,"unique_name_in_owner":false,"process_mod
+24
View File
@@ -0,0 +1,24 @@
class_name PlayerSprite
extends AnimatedSprite2D
const ANIMATION_IDLE = "idle"
const ANIMATION_LOOK_AROUND = "look_around"
const ANIMATION_LOOK_AROUND_1 = "look_around_1"
const ANIMATION_LOOK_AROUND_2 = "look_around_2"
const ANIMATION_FALL = "fall"
const ANIMATION_FALL_LEFT = "fall_left"
const ANIMATION_FALL_RIGHT = "fall_right"
const ANIMATION_JUMP = "jump"
const ANIMATION_JUMP_LEFT = "jump_left"
const ANIMATION_JUMP_RIGHT = "jump_right"
const ANIMATION_WALK_LEFT = "walk_left"
const ANIMATION_WALK_RIGHT = "walk_right"
const ANIMATION_DEATH = "death"
@@ -0,0 +1 @@
uid://bpclheyn60yp7
+3 -1
View File
@@ -2,6 +2,7 @@
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_57ht8"]
[ext_resource type="Texture2D" uid="uid://bjccaucrio6ht" path="res://images/characters/player.png" id="2_mi53p"]
[ext_resource type="Script" uid="uid://bpclheyn60yp7" path="res://game/characters/player/player_sprite.gd" id="3_ulfbe"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i05k5"]
shader = ExtResource("1_57ht8")
@@ -426,7 +427,8 @@ animations = [{
"speed": 20.0
}]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" unique_id=259457082]
[node name="PlayerSprite2D" type="AnimatedSprite2D" unique_id=259457082]
material = SubResource("ShaderMaterial_i05k5")
sprite_frames = SubResource("SpriteFrames_v8w1g")
animation = &"fall_right"
script = ExtResource("3_ulfbe")
@@ -1,15 +1,12 @@
extends PlayerState
const ANIMATION_DEATH = "death"
func enter() -> void:
SoundManager.play_sfx_stream(SoundManager.sfx_stream_death, player.global_position)
player.sprite.animation_finished.connect(_on_aniimation_finished, CONNECT_ONE_SHOT)
player.process_mode = Node.PROCESS_MODE_ALWAYS
process_mode = Node.PROCESS_MODE_ALWAYS
player.sprite.play(ANIMATION_DEATH)
player.sprite.play(PlayerSprite.ANIMATION_DEATH)
get_tree().paused = true
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_FALL_LEFT = "fall_left"
func enter() -> void:
player.sprite.play(ANIMATION_FALL_LEFT)
player.sprite.play(PlayerSprite.ANIMATION_FALL_LEFT)
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_FALL_RIGHT = "fall_right"
func enter() -> void:
player.sprite.play(ANIMATION_FALL_RIGHT)
player.sprite.play(PlayerSprite.ANIMATION_FALL_RIGHT)
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_FALL = "fall"
func enter() -> void:
player.sprite.play(ANIMATION_FALL)
player.sprite.play(PlayerSprite.ANIMATION_FALL)
@@ -1,8 +1,6 @@
extends PlayerState
const ANIMATION_IDLE = "idle"
const LOOK_AROUND_CHANCE = 25
@@ -11,7 +9,7 @@ const LOOK_AROUND_CHANCE = 25
func enter() -> void:
player.sprite.animation_looped.connect(_on_animation_looped)
player.sprite.play(ANIMATION_IDLE)
player.sprite.play(PlayerSprite.ANIMATION_IDLE)
func exit() -> void:
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_JUMP_LEFT = "jump_left"
func enter() -> void:
player.sprite.play(ANIMATION_JUMP_LEFT)
player.sprite.play(PlayerSprite.ANIMATION_JUMP_LEFT)
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_JUMP_RIGHT = "jump_right"
func enter() -> void:
player.sprite.play(ANIMATION_JUMP_RIGHT)
player.sprite.play(PlayerSprite.ANIMATION_JUMP_RIGHT)
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_JUMP = "jump"
func enter() -> void:
player.sprite.play(ANIMATION_JUMP)
player.sprite.play(PlayerSprite.ANIMATION_JUMP)
@@ -1,10 +1,6 @@
extends PlayerState
const ANIMATION_LOOK_AROUND_1 = "look_around_1"
const ANIMATION_LOOK_AROUND_2 = "look_around_2"
func enter() -> void:
player.sprite.animation_finished.connect(_on_animation_finished, CONNECT_ONE_SHOT)
player.sprite.play(_get_animation())
@@ -15,4 +11,7 @@ func _on_animation_finished() -> void:
func _get_animation() -> String:
return ANIMATION_LOOK_AROUND_1 if randi_range(1, 2) == 1 else ANIMATION_LOOK_AROUND_2
if randi_range(1, 2) == 1:
return PlayerSprite.ANIMATION_LOOK_AROUND_1
else:
return PlayerSprite.ANIMATION_LOOK_AROUND_2
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_WALK_LEFT = "walk_left"
func enter() -> void:
player.sprite.play(ANIMATION_WALK_LEFT)
player.sprite.play(PlayerSprite.ANIMATION_WALK_LEFT)
@@ -1,8 +1,5 @@
extends PlayerState
const ANIMATION_WALK_RIGHT = "walk_right"
func enter() -> void:
player.sprite.play(ANIMATION_WALK_RIGHT)
player.sprite.play(PlayerSprite.ANIMATION_WALK_RIGHT)
+4 -8
View File
@@ -1,10 +1,6 @@
extends AbstractLevel
const ANIMATION_WALK_LEFT = "walk_left"
const ANIMATION_WALK_RIGHT = "walk_right"
const CUTSCENE_CAMERA_TIME = 5
const CUTSCENE_HAZE_TIME = 0.1
@@ -100,7 +96,7 @@ func _do_cutscene_phase_one() -> void:
cutscene_camera.enabled = true
cutscene_camera.make_current()
cutscene_fake_player.show()
cutscene_fake_player.play(ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor)
cutscene_fake_player.play(PlayerSprite.ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor)
var tween : Tween = create_tween()
tween.set_ease(Tween.EASE_IN_OUT)
tween.set_trans(Tween.TRANS_QUAD)
@@ -108,16 +104,16 @@ func _do_cutscene_phase_one() -> void:
func _do_cutscene_phase_four() -> void:
cutscene_fake_player.play(ANIMATION_WALK_LEFT,_cutscene_player_speed_factor)
cutscene_fake_player.play(PlayerSprite.ANIMATION_WALK_LEFT,_cutscene_player_speed_factor)
func _do_cutscene_phase_six() -> void:
_cutscene_player_speed_factor = 0.25
cutscene_fake_player.play(ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor)
cutscene_fake_player.play(PlayerSprite.ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor)
func _do_cutscene_phase_seven() -> void:
cutscene_fake_player.play("look_around", 0.5)
cutscene_fake_player.play(PlayerSprite.ANIMATION_LOOK_AROUND, 0.5)
cutscene_player_timer.start()