I want to
create a sentence
Create a square
make the square move from word to word in the sentence
from manim import *
class QuoteScene(Scene):
def construct(self): quote = Text("Imagination is more important than knowledge.", font_size=24, line_spacing=1.5) quote.to_edge(UP) # 2. Create a square square = Square(color=RED) square.set_width(0.5) # Define a list of words (indices) the square will visit in order word_indices = [0, 6, 5, 4, 1, 2, 3] # Play the animation to write the quote self.play(Write(quote), run_time=2) # Debug: Mark positions of the first few words for i in range(min(len(word_indices), len(quote))): dot = Dot(color=BLUE).move_to(quote[i].get_center()) self.add(dot) # Move the square to the first word initially first_word = quote[word_indices[0]] square.move_to(first_word.get_center()) self.add(square) # Animate the square moving from word to word for word_idx in word_indices: word = quote[word_idx] self.play(square.animate.move_to(word.get_center()), run_time=1, rate_func=linear) self.wait(3)
I have market the word's position here.
They are squeezed together. and the sqare of course, only move a bit in the first word.

the blue dot are the word's position as marked in the picture.
Using Tex instead of Text class makes this relatively simple: