Advertisement
Guest User

Untitled

a guest
Jun 12th, 2025
7
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | Source Code | 0 0
  1. extends DialogicNode_PortraitContainer
  2. class_name DialogicNode_PortraitContainer_Animated
  3.  
  4. var tween : Tween
  5. var rng := RandomNumberGenerator.new()
  6.  
  7. var anim_style := AnimatedPortraitLayer.SPEAK_ANIM_STYLE.TRANSLATION
  8. var _start_position : Vector2
  9.  
  10. func _ready():
  11. super()
  12. _start_position = position
  13.  
  14. func _on_continued_revealing_text(new_character):
  15. if rng.randi_range(0,1) != 0 || new_character == ' ':
  16. return
  17. match anim_style:
  18. AnimatedPortraitLayer.SPEAK_ANIM_STYLE.TRANSLATION:
  19. _animate_translation()
  20.  
  21. func _on_finished_revealing_text():
  22. match anim_style:
  23. AnimatedPortraitLayer.SPEAK_ANIM_STYLE.TRANSLATION:
  24. if tween:
  25. tween.kill()
  26. tween = get_tree().create_tween()
  27. tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC)
  28. tween.tween_property(self, "position", _start_position, 0.03)
  29.  
  30. func _animate_translation():
  31. var rand_value: Vector2 = Vector2(rng.randf_range(-5.0,5.0), 0.0)
  32. var target: Vector2 = _start_position + rand_value
  33. if tween:
  34. tween.kill()
  35. tween = get_tree().create_tween()
  36. tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC)
  37. tween.tween_property(self, "position", target, 0.02)
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement