Diffstat (limited to 'matrix.gd')
| -rw-r--r-- | matrix.gd | 29 |
1 files changed, 16 insertions, 13 deletions
@@ -1,28 +1,31 @@ -tool extends RichTextEffect +tool +extends RichTextEffect class_name RichTextMatrix var bbcode = "matrix" + func _init(): resource_name = "RichTextMatrix" -func _process_custom_fx(char_fx : CharFXTransform) -> bool: + +func _process_custom_fx(char_fx: CharFXTransform) -> bool: var clear_time = char_fx.env.get("clean", 2.0) var dirty_time = char_fx.env.get("dirty", 1.0) var text_span = char_fx.env.get("span", 50) - + var value = char_fx.character - - var matrix_time = fmod(char_fx.elapsed_time + (char_fx.absolute_index / float(text_span)), \ - clear_time + dirty_time) - - matrix_time = 0.0 if matrix_time < clear_time else \ - (matrix_time - clear_time)/dirty_time - - if( value >= 65 && value < 126 && matrix_time > 0.0 ): + + var matrix_time = fmod( + char_fx.elapsed_time + (char_fx.absolute_index / float(text_span)), clear_time + dirty_time + ) + + matrix_time = 0.0 if matrix_time < clear_time else (matrix_time - clear_time) / dirty_time + + if value >= 65 && value < 126 && matrix_time > 0.0: value -= 65 - value = value + int((1 * matrix_time * (126-65))) + value = value + int(1 * matrix_time * (126 - 65)) value %= (126 - 65) value += 65 char_fx.character = value - return true
\ No newline at end of file + return true |