diff --git a/frisbee.tscn b/frisbee.tscn index af28870..92feebb 100644 --- a/frisbee.tscn +++ b/frisbee.tscn @@ -3,13 +3,14 @@ [ext_resource type="Texture2D" uid="uid://ch4qfmxc1ce3u" path="res://art/Frisbee.png" id="1_lxkb1"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_8orvs"] -radius = 5.0 -height = 16.0 +radius = 2.0 +height = 8.0 -[node name="Frisbee" type="RigidBody2D"] +[node name="Frisbee" type="CharacterBody2D"] [node name="FrisbeeSprite" type="Sprite2D" parent="."] texture_filter = 1 +scale = Vector2(0.5, 0.5) texture = ExtResource("1_lxkb1") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] diff --git a/player.gd b/player.gd index 9945e0a..35d6fee 100644 --- a/player.gd +++ b/player.gd @@ -1,5 +1,9 @@ extends CharacterBody2D +var frisbee = preload("res://frisbee.tscn") + +var heldFrisbee :CharacterBody2D= null + var remote_player :bool= false var max_walk :float= 10 @@ -47,6 +51,11 @@ func _input(event): ) if flick.length_squared() != 0: + if heldFrisbee == null: + heldFrisbee = frisbee.instantiate() + $PlayerSprite/FrisbeeLocation.add_child(heldFrisbee) $PlayerSprite.play("throw") else: $PlayerSprite.play("still") + $PlayerSprite/FrisbeeLocation.remove_child(heldFrisbee) + heldFrisbee = null diff --git a/player.tscn b/player.tscn index a15059a..5b9a04a 100644 --- a/player.tscn +++ b/player.tscn @@ -40,7 +40,7 @@ animations = [{ }] [sub_resource type="RectangleShape2D" id="RectangleShape2D_m60wa"] -size = Vector2(28, 46) +size = Vector2(27.5, 48) [node name="Player" type="CharacterBody2D"] script = ExtResource("1_8jh48") @@ -51,7 +51,13 @@ position = Vector2(0, -24) scale = Vector2(2, 2) sprite_frames = SubResource("SpriteFrames_obpd0") animation = &"throw" +frame = 1 +frame_progress = 0.593015 + +[node name="FrisbeeLocation" type="Node2D" parent="PlayerSprite"] +position = Vector2(-0.5, 2.5) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(0, -23) +z_index = -1 +position = Vector2(0.25, -24) shape = SubResource("RectangleShape2D_m60wa")