Python | Display text to PyGame window (original) (raw)

`# import pygame module in this program import pygame

activate the pygame library

initiate pygame and give permission

to use pygame's functionality.

pygame.init()

create the display surface object

(x, y) is the height and width of pygame window

win=pygame.display.set_mode((500, 500))

set the pygame window name

pygame.display.set_caption("Scrolling Text")

setting the pygame font style(1st parameter)

and size of font(2nd parameter)

Font=pygame.font.SysFont('timesnewroman', 30)

define the RGB value for white,

green, yellow, orange colour

white=(255, 255, 255) yellow=(255, 255, 0) green=(0, 255, 255) orange=(255, 100, 0) done=False

Split the text into letters

3rd parameter is font colour and

4th parameter is Font background

letter1=Font.render("H", False, orange, yellow) letter2=Font.render("E", False, orange, green) letter3=Font.render("M", False, orange, yellow) letter4=Font.render("A", False, orange, green) letter5=Font.render("N", False, orange, yellow) letter6=Font.render("T", False, orange, green) letter7=Font.render("H", False, orange, yellow)

assigning values to

i and c variable

i=0 c=1

infinite loop

while not done: if(i>=820): i=0 c+=1 pygame.time.wait(500)

# completely fill the surface object 
# with white color 
win.fill(white)
if(c%6==0):    
    # Scrolling the text in diagonal
    # on right side of the Screen.
    # copying the text surface object 
    # to the display surface object  
    # at the center coordinate. 
    win.blit(letter1, (662-i, -162+i))
    win.blit(letter2, (639-i, -139+i))
    win.blit(letter3, (608-i, -108+i))
    win.blit(letter4, (579-i, -79+i))
    win.blit(letter5, (552-i, -52+i))
    win.blit(letter6, (529-i, -29+i))
    win.blit(letter7, (500 -i, 0 + i))
    i+=80
if(c%6==5): 
    # Scrolling the text in diagonal on
    # left side of the Screen.
    win.blit(letter1, (-162+i, -162+i)) 
    win.blit(letter2, (-135+i, -135+i))
    win.blit(letter3, (-110+i, -110+i))
    win.blit(letter4, (-79+i, -79+i))
    win.blit(letter5, (-52+i, -52+i))
    win.blit(letter6, (-27+i, -27+i))
    win.blit(letter7, (0+i, 0+i))
    
    # Decides the speed of
    # the text on screen
    i+=80    
if(c%6==4): 
  
    # Scrolling the text in
    # right side of the Screen.
    win.blit(letter1, (480, -180+i))
    win.blit(letter2, (480, -150+i))
    win.blit(letter3, (480, -120+i))
    win.blit(letter4, (480, -90+i))
    win.blit(letter5, (480, -60+i))
    win.blit(letter6, (480, -30+i))
    win.blit(letter7, (480, 0+i))
    
    # Decides the speed of
    # the text on screen
    i +=80  
if(c%6==3):  
    # Scrolling the text in left
    # side of the Screen.
    win.blit(letter1, (0, -180+i))
    win.blit(letter2, (0, -150+i))
    win.blit(letter3, (0, -120+i))
    win.blit(letter4, (0, -90+i))
    win.blit(letter5, (0, -60+i))
    win.blit(letter6, (0, -30+i))
    win.blit(letter7, (0, 0+i))
    
    # Decides the speed of
    # the text on screen
    i+=80   
if(c%6==1):

    win.blit(letter1, (-124+i, 0))
    win.blit(letter2, (-102+i, 0))
    win.blit(letter3, (-82+i, 0))
    win.blit(letter4, (-58+i, 0))
    win.blit(letter5, (-40+i, 0))
    win.blit(letter6, (-19+i, 0))
    win.blit(letter7, (0+i, 0))
    
    # Decides the speed of
    # the text on screen
    i +=80    
if(c%6==2):
  
   # Scrolling the text in bottom of the Screen.
    win.blit(letter1, (-124+i, 470))
    win.blit(letter2, (-102+i, 470))
    win.blit(letter3, (-82+i, 470))
    win.blit(letter4, (-58+i, 470))
    win.blit(letter5, (-40+i, 470))
    win.blit(letter6, (-19+i, 470))
    win.blit(letter7, (0+i, 470))
    
    # Decides the speed
    # of the text on screen
    i+=80

# Draws the surface object to the screen.
pygame.display.update()

# iterate over the list of Event objects 
# that was returned by pygame.event.get() method
for event in pygame.event.get():
    if(event.type==pygame.QUIT):
        done=True
#Delay with 5ms
pygame.time.wait(500)

pygame.quit()

`