diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2024-09-28 15:29:16 +0200 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2024-09-28 15:29:16 +0200 |
commit | 62e90b444315245ef24606fa51d3fccba5f18e08 (patch) | |
tree | 3a8a7390cf319d6a4ddd70bf32ca83fbe20bec31 /Target/balloon.gd |
Diffstat (limited to 'Target/balloon.gd')
-rw-r--r-- | Target/balloon.gd | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Target/balloon.gd b/Target/balloon.gd new file mode 100644 index 0000000..af7a8bd --- /dev/null +++ b/Target/balloon.gd @@ -0,0 +1,40 @@ +extends CharacterBody2D + + +func _ready(): + if OS.has_feature("mobile"): + scale = Vector2(1.5, 1.5) + + var tween = create_tween() + tween.set_loops() + tween.tween_method(func(value): + $Line2D.set_point_position(2, Vector2(value, $Line2D.points[2].y)) + , -2, 2, randf_range(0.5, 1.5)).set_delay(0.01) + tween.tween_method(func(value): + $Line2D.set_point_position(2, Vector2(value, $Line2D.points[2].y)) + , 2, -2, randf_range(0.5, 1.5)).set_delay(0.01) + tween.tween_method(func(value): + $Line2D.set_point_position(3, Vector2(value, $Line2D.points[3].y)) + , -1, 1, randf_range(0.5, 1.5)).set_delay(0.01) + tween.tween_method(func(value): + $Line2D.set_point_position(3, Vector2(value, $Line2D.points[3].y)) + , 1, -1, randf_range(0.5, 1.5)).set_delay(0.01) + + +func _process(_delta: float) -> void: + move_and_slide() + + var collision := get_last_slide_collision() + if collision: + velocity = velocity.bounce(collision.get_normal()) + + +func _on_area_2d_area_entered(area: Area2D) -> void: + if area.is_in_group("arrow"): + Game.score += 1 + SoundManager.balloon.get_children().pick_random().play() + queue_free() + + +func _on_visible_on_screen_notifier_2d_screen_exited() -> void: + queue_free() |