player hurt working with signals
This commit is contained in:
parent
a6fc6acc12
commit
6355c31a7c
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b2brlauvni08o"
|
||||||
|
path="res://.godot/imported/Player Hurt 48x48.png-a720e51cb19103e76b22ab6c1b81302d.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/graphics/player/hurt/Player Hurt 48x48.png"
|
||||||
|
dest_files=["res://.godot/imported/Player Hurt 48x48.png-a720e51cb19103e76b22ab6c1b81302d.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
@ -1,9 +1,10 @@
|
|||||||
[gd_scene load_steps=39 format=3 uid="uid://dbgc24hrbtvxm"]
|
[gd_scene load_steps=44 format=3 uid="uid://dbgc24hrbtvxm"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/player.gd" id="1_5qpif"]
|
[ext_resource type="Script" path="res://scripts/player.gd" id="1_5qpif"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d6d3re6epsh4" path="res://assets/graphics/player/death/Player Death 64x64.png" id="2_t1yra"]
|
[ext_resource type="Texture2D" uid="uid://d6d3re6epsh4" path="res://assets/graphics/player/death/Player Death 64x64.png" id="2_t1yra"]
|
||||||
[ext_resource type="Texture2D" uid="uid://pdvgf3y1lquv" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_vcmr0"]
|
[ext_resource type="Texture2D" uid="uid://pdvgf3y1lquv" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_vcmr0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cvh48exhs1ir1" path="res://assets/graphics/player/run/player run 48x48.png" id="3_a03rx"]
|
[ext_resource type="Texture2D" uid="uid://cvh48exhs1ir1" path="res://assets/graphics/player/run/player run 48x48.png" id="3_a03rx"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b2brlauvni08o" path="res://assets/graphics/player/hurt/Player Hurt 48x48.png" id="3_a70o5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d0kfe5ms2vjbr" path="res://assets/graphics/player/jump/player jump 48x48.png" id="3_mvdmt"]
|
[ext_resource type="Texture2D" uid="uid://d0kfe5ms2vjbr" path="res://assets/graphics/player/jump/player jump 48x48.png" id="3_mvdmt"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uru55"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_uru55"]
|
||||||
@ -46,6 +47,22 @@ region = Rect2(384, 0, 48, 48)
|
|||||||
atlas = ExtResource("2_t1yra")
|
atlas = ExtResource("2_t1yra")
|
||||||
region = Rect2(432, 0, 48, 48)
|
region = Rect2(432, 0, 48, 48)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_me361"]
|
||||||
|
atlas = ExtResource("3_a70o5")
|
||||||
|
region = Rect2(0, 0, 48, 48)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5yslj"]
|
||||||
|
atlas = ExtResource("3_a70o5")
|
||||||
|
region = Rect2(48, 0, 48, 48)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_l8y4s"]
|
||||||
|
atlas = ExtResource("3_a70o5")
|
||||||
|
region = Rect2(96, 0, 48, 48)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vc70i"]
|
||||||
|
atlas = ExtResource("3_a70o5")
|
||||||
|
region = Rect2(144, 0, 48, 48)
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_etdvv"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_etdvv"]
|
||||||
atlas = ExtResource("2_vcmr0")
|
atlas = ExtResource("2_vcmr0")
|
||||||
region = Rect2(0, 0, 48, 48)
|
region = Rect2(0, 0, 48, 48)
|
||||||
@ -169,6 +186,23 @@ animations = [{
|
|||||||
}, {
|
}, {
|
||||||
"frames": [{
|
"frames": [{
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_me361")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5yslj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_l8y4s")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vc70i")
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"hurt",
|
||||||
|
"speed": 12.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
"texture": SubResource("AtlasTexture_etdvv")
|
"texture": SubResource("AtlasTexture_etdvv")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
@ -256,7 +290,7 @@ metadata/_edit_group_ = true
|
|||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
position = Vector2(0, -7)
|
position = Vector2(0, -7)
|
||||||
sprite_frames = SubResource("SpriteFrames_wlxdo")
|
sprite_frames = SubResource("SpriteFrames_wlxdo")
|
||||||
animation = &"death"
|
animation = &"hurt"
|
||||||
autoplay = "idle"
|
autoplay = "idle"
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
@ -274,3 +308,5 @@ position = Vector2(12, -5)
|
|||||||
|
|
||||||
[node name="MarkerLeft" type="Node2D" parent="."]
|
[node name="MarkerLeft" type="Node2D" parent="."]
|
||||||
position = Vector2(-15, -5)
|
position = Vector2(-15, -5)
|
||||||
|
|
||||||
|
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animation_finished"]
|
||||||
|
@ -4,6 +4,7 @@ var coinsCollected:int = 0
|
|||||||
var player:Resource
|
var player:Resource
|
||||||
|
|
||||||
signal playerDeath
|
signal playerDeath
|
||||||
|
signal playerHurt
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
print("Game controller is ready")
|
print("Game controller is ready")
|
||||||
@ -25,4 +26,6 @@ func playerDamage():
|
|||||||
if player.health <= 0:
|
if player.health <= 0:
|
||||||
#kill him
|
#kill him
|
||||||
playerDeath.emit()
|
playerDeath.emit()
|
||||||
|
else:
|
||||||
|
playerHurt.emit()
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@ const PUSH_FORCE = 700
|
|||||||
var faceLeft = false
|
var faceLeft = false
|
||||||
var living = true
|
var living = true
|
||||||
|
|
||||||
|
signal playerDead
|
||||||
|
|
||||||
# can i push right or left
|
# can i push right or left
|
||||||
var pushLeftEnabled = false
|
var pushLeftEnabled = false
|
||||||
var pushRightEnabled = false
|
var pushRightEnabled = false
|
||||||
@ -18,18 +20,24 @@ var pushRightEnabled = false
|
|||||||
@onready var playerSprite: AnimatedSprite2D = $AnimatedSprite2D
|
@onready var playerSprite: AnimatedSprite2D = $AnimatedSprite2D
|
||||||
|
|
||||||
var pushTarget
|
var pushTarget
|
||||||
|
var animPlaying = "idle"
|
||||||
|
|
||||||
var bullet = preload("res://scenes/bullet.tscn")
|
var bullet = preload("res://scenes/bullet.tscn")
|
||||||
|
|
||||||
func killPlayer():
|
func killPlayer():
|
||||||
print("kill the player")
|
|
||||||
if living:
|
if living:
|
||||||
living = false
|
living = false
|
||||||
|
animPlaying = "death"
|
||||||
#play death animation
|
#play death animation
|
||||||
playerSprite.play("death")
|
playerSprite.play("death")
|
||||||
|
|
||||||
|
func hurtPlayer():
|
||||||
|
animPlaying="hurt"
|
||||||
|
print("player should get hurt")
|
||||||
|
playerSprite.play("hurt")
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
if living:
|
if living and not animPlaying=="hurt":
|
||||||
# Add the gravity.
|
# Add the gravity.
|
||||||
if not is_on_floor():
|
if not is_on_floor():
|
||||||
velocity += get_gravity() * delta
|
velocity += get_gravity() * delta
|
||||||
@ -102,3 +110,11 @@ func _physics_process(delta: float) -> void:
|
|||||||
pushTarget = collider
|
pushTarget = collider
|
||||||
else:
|
else:
|
||||||
pushRightEnabled = false
|
pushRightEnabled = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_animation_finished() -> void:
|
||||||
|
print(animPlaying + " finished playing.")
|
||||||
|
if animPlaying == "hurt":
|
||||||
|
animPlaying="idle"
|
||||||
|
if animPlaying=="death":
|
||||||
|
playerDead.emit()
|
||||||
|
@ -28,6 +28,8 @@ func _ready() -> void:
|
|||||||
n.playerDamage.connect(GameController.playerDamage)
|
n.playerDamage.connect(GameController.playerDamage)
|
||||||
#GameController signals
|
#GameController signals
|
||||||
GameController.playerDeath.connect(killPlayer)
|
GameController.playerDeath.connect(killPlayer)
|
||||||
|
GameController.playerHurt.connect(hurtPlayer)
|
||||||
|
player.playerDead.connect(deadPlayer)
|
||||||
|
|
||||||
func boxTrap():
|
func boxTrap():
|
||||||
print("Trigger a box trap!")
|
print("Trigger a box trap!")
|
||||||
@ -66,11 +68,13 @@ func crateFactory():
|
|||||||
func killPlayer():
|
func killPlayer():
|
||||||
# tell player to die - starts death animation
|
# tell player to die - starts death animation
|
||||||
player.killPlayer()
|
player.killPlayer()
|
||||||
if timer.is_stopped():
|
func hurtPlayer():
|
||||||
timer.start(4)
|
player.hurtPlayer()
|
||||||
|
|
||||||
|
func deadPlayer():
|
||||||
|
if timer.is_stopped():
|
||||||
|
timer.start(1)
|
||||||
|
|
||||||
func resetWorld():
|
func resetWorld():
|
||||||
print("screne manager resetting world")
|
|
||||||
GameController.resetPlayer()
|
GameController.resetPlayer()
|
||||||
get_tree().reload_current_scene()
|
get_tree().reload_current_scene()
|
||||||
|
Loading…
Reference in New Issue
Block a user