I want to create a “gradual colour change” effect in Godot.

eg: some_set_font_color_func(Color8(255,n,n) where n gradually decreases to make the text fade from white to red.

I can’t figure out what function I would use in place of some_set_font_color_func to change a font’s colour.

Godot themes are somewhat confusing. Given some var var UI:control how would I set the colour of any font(s) contained within that node?

  • popcar2@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    Godot 4 released this year so most of what ChatGPT is spitting out is Godot 3 code which is usually not compatible. That is if it doesn’t just give you complete nonsense. I wouldn’t recommend using it much.

    What you’re looking for is a Tween. This can slowly change one value to another, and you can use it for colors. Something like:

    var tween: Tween = create_tween()
    tween.tween_property($RichTextLabel, "modulate", Color.BLUE, 1)
    

    This will change the label’s color from what it is now to blue over the course of one second. You can mess around with set_ease() and set_trans() to make the effect smoother if you need to.

    • s12OP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Oh yeah. I’m using 3. Should have put that in my post. Updated the title.

      I know not to trust GPT output, but I thought it might be helpful to try it, find out if if it’s helpful for learning Godot, and see if the community can tell me if it’s giving me an anti-pattern or not.