feat: improved dragon walking behaviour
This commit is contained in:
parent
b4594bdd43
commit
d8419cb9a4
8 changed files with 150 additions and 66 deletions
|
@ -8,7 +8,7 @@ class_name DragonEntity
|
|||
@export var min_exit_time: float
|
||||
@export var max_exit_time: float
|
||||
|
||||
signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String)
|
||||
signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D)
|
||||
signal on_quit(dragon_id: int)
|
||||
|
||||
var rng: RandomNumberGenerator = RandomNumberGenerator.new()
|
||||
|
@ -43,13 +43,9 @@ func _input_event(viewport, event, shape_idx) -> void:
|
|||
if event is InputEventMouseButton \
|
||||
and event.button_index == MOUSE_BUTTON_LEFT \
|
||||
and event.is_pressed():
|
||||
on_pick.emit(id, position + $CollisionShape2D.position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture, dragon.name_label.text)
|
||||
on_pick.emit(id, position + $CollisionShape2D.position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture)
|
||||
queue_free()
|
||||
|
||||
|
||||
func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D):
|
||||
dragon.dress(hat, shirt, shoes)
|
||||
|
||||
|
||||
func set_dragon_name(dragon_name: String):
|
||||
dragon.set_dragon_name(dragon_name)
|
||||
|
|
|
@ -5,11 +5,6 @@ class_name DragonSprite
|
|||
@export var hat: Sprite2D
|
||||
@export var shirt: Sprite2D
|
||||
@export var shoes: Sprite2D
|
||||
@export var name_label: Label
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
name_label.hide()
|
||||
|
||||
|
||||
func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D):
|
||||
|
@ -18,13 +13,9 @@ func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D):
|
|||
self.shoes.texture = shoes
|
||||
|
||||
|
||||
func set_dragon_name(dragon_name: String):
|
||||
name_label.text = dragon_name
|
||||
func walk_left():
|
||||
$Sprite.scale.x = 1
|
||||
|
||||
|
||||
func _on_area_2d_mouse_entered() -> void:
|
||||
name_label.show()
|
||||
|
||||
|
||||
func _on_area_2d_mouse_exited() -> void:
|
||||
name_label.hide()
|
||||
func walk_right():
|
||||
$Sprite.scale.x = -1
|
||||
|
|
|
@ -9,12 +9,11 @@
|
|||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oaoux"]
|
||||
size = Vector2(76, 88)
|
||||
|
||||
[node name="Dragon" type="Node2D" node_paths=PackedStringArray("hat", "shirt", "shoes", "name_label")]
|
||||
[node name="Dragon" type="Node2D" node_paths=PackedStringArray("hat", "shirt", "shoes")]
|
||||
script = ExtResource("1_oaoux")
|
||||
hat = NodePath("Sprite/Hat")
|
||||
shirt = NodePath("Sprite/Shirt")
|
||||
shoes = NodePath("Sprite/Shoes")
|
||||
name_label = NodePath("Label")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
|
@ -35,16 +34,5 @@ texture = ExtResource("4_oaoux")
|
|||
[node name="Shoes" type="Sprite2D" parent="Sprite"]
|
||||
texture = ExtResource("5_stf6f")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
offset_left = -10.0
|
||||
offset_top = 78.0
|
||||
offset_right = 86.0
|
||||
offset_bottom = 101.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 5
|
||||
text = "AAAAAAAA"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue