title: Scrolling text in pygame
body: <p>How would I go about achieving scrolling text in pygame? As the Text class is derived from Sprite, I thought I would be able to wrap it in the usual way I would a Sprite object. Instead, it simply disappears off the left edge of the screen, never to return (I can't get it to bounce off each side either).</p>
  
  <p>My aim with this program is to reinforce things I've just covered in some educational material. However, scrolling text wasn't one of them (would look cool though).</p>
  
  <p>Thanks,</p>
  
  <p>Dave</p>
  
  <p>Code(specific block is under comment 'add scrolling text at bottom of screen'):</p>
  
  <pre><code># Simon Says
  # Displays sequences of sounds and/or colors which the user must repeat
  
  from livewires import games, color
  import random
  
  # initialise screen
  games.init(screen_width = 640, screen_height = 480, fps = 50)
  
  class Game(object):
      """A sequence repeat game"""
      def __init__(self):
          """Initialize Game object"""
  
          # create key
          self.menu_title = games.Text(value = "Key",
                            size = 25,
                            color  = color.red,
                            top = 5,
                            left = games.screen.width - 100,
                            is_collideable = False)
          self.menu_choice0 = games.Text(value = "0 - Quit",
                            size = 20,
                            color  = color.red,
                            top = self.menu_title.bottom + 5,
                            left = games.screen.width - 120,
                            is_collideable = False)
          self.menu_choice1 = games.Text(value = "1 - Yellow",
                            size = 20,
                            color  = color.red,
                            top = self.menu_choice0.bottom + 5,
                            left = games.screen.width - 120,
                            is_collideable = False)
          self.menu_choice2 = games.Text(value = "2 -Thrust sound",
                            size = 20,
                            color  = color.red,
                            top = self.menu_choice1.bottom + 5,
                            left = games.screen.width - 120,
                            is_collideable = False)
          games.screen.add(self.menu_title)
          games.screen.add(self.menu_choice0)
          games.screen.add(self.menu_choice1)
          games.screen.add(self.menu_choice2)
  
          # add scrolling text at bottom of screen
          self.instructions = games.Text(value = "Repeat the sequence by entering the "
                                                 "corresponding number.",
                                                 size = 20,
                                                 color = color.green,
                                                 x = games.screen.width/2,
                                                 bottom = games.screen.height - 2,
                                                 dx = - 0.75)
  
          games.screen.add(self.instructions)
  
          # wrap
          if self.instructions.left &lt; 0:
              self.instructions.left = games.screen.width
  
  
  
      def play(self):
          """Play game"""
          # load and set background
          black_background = games.load_image("blackbackground.jpg", transparent = False)
          games.screen.background = black_background
          games.screen.mainloop()
  
  def main():
      sequence = Game()
      sequence.play()
  
  main()
  </code></pre>