added 3 surfaces with auto switching
This commit is contained in:
parent
e7bade5a3f
commit
de6d39be4d
0
surface_switching_test/__init__.py
Normal file
0
surface_switching_test/__init__.py
Normal file
5
surface_switching_test/__main__.py
Normal file
5
surface_switching_test/__main__.py
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
from surface_switching_test import main
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main.main()
|
||||||
|
exit()
|
35
surface_switching_test/main.py
Normal file
35
surface_switching_test/main.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import pygame
|
||||||
|
from surface_switching_test.surfaces import sf_1, sf_2, sf_3
|
||||||
|
|
||||||
|
WINDOW_SIZE = (800, 600)
|
||||||
|
|
||||||
|
VALID_SURFACES = [
|
||||||
|
'sf_1',
|
||||||
|
'sf_2',
|
||||||
|
'sf_3'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
pygame.init()
|
||||||
|
|
||||||
|
window = pygame.display.set_mode(WINDOW_SIZE)
|
||||||
|
|
||||||
|
clock = pygame.time.Clock()
|
||||||
|
|
||||||
|
running = True
|
||||||
|
surface = globals()['sf_1'].Surface(WINDOW_SIZE)
|
||||||
|
while running:
|
||||||
|
clock.tick(15)
|
||||||
|
surface.update()
|
||||||
|
window.blit(surface, surface.get_rect())
|
||||||
|
|
||||||
|
if not surface.running:
|
||||||
|
next_surface = surface.next_surface
|
||||||
|
if next_surface not in VALID_SURFACES:
|
||||||
|
raise Exception('Given surface is not listed in valid surfaces!')
|
||||||
|
surface = globals()[next_surface].Surface(WINDOW_SIZE)
|
||||||
|
|
||||||
|
pygame.display.flip()
|
||||||
|
|
||||||
|
pygame.quit()
|
0
surface_switching_test/surfaces/__init__.py
Normal file
0
surface_switching_test/surfaces/__init__.py
Normal file
0
surface_switching_test/surfaces/objects/__init__.py
Normal file
0
surface_switching_test/surfaces/objects/__init__.py
Normal file
12
surface_switching_test/surfaces/objects/text.py
Normal file
12
surface_switching_test/surfaces/objects/text.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import pygame.font
|
||||||
|
import os
|
||||||
|
|
||||||
|
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
class RegularText:
|
||||||
|
def __init__(self, text):
|
||||||
|
font = pygame.font.Font(SCRIPT_DIR + '/../resources/Tuffy_Bold.ttf', 32)
|
||||||
|
self.surface = font.render(text, True, (0, 0, 0))
|
||||||
|
self.rect = self.surface.get_rect()
|
||||||
|
|
BIN
surface_switching_test/surfaces/resources/Tuffy_Bold.ttf
Normal file
BIN
surface_switching_test/surfaces/resources/Tuffy_Bold.ttf
Normal file
Binary file not shown.
21
surface_switching_test/surfaces/sf_1.py
Normal file
21
surface_switching_test/surfaces/sf_1.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import pygame
|
||||||
|
from surface_switching_test.surfaces.objects import text as surface_text
|
||||||
|
|
||||||
|
class Surface(pygame.Surface):
|
||||||
|
def __init__(self, window_size):
|
||||||
|
super().__init__(window_size, pygame.SRCALPHA)
|
||||||
|
self.test = 0
|
||||||
|
self.running = True
|
||||||
|
self.next_surface = 'sf_2'
|
||||||
|
self.countdown = 100
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
self.fill((255, 0, 0))
|
||||||
|
|
||||||
|
text = surface_text.RegularText('Surface stopping and swtiching to {0} in: {1}'.format(self.next_surface,
|
||||||
|
str(self.countdown)))
|
||||||
|
self.blit(text.surface, text.rect)
|
||||||
|
|
||||||
|
self.countdown -= 1
|
||||||
|
if self.countdown < 0:
|
||||||
|
self.running = False
|
21
surface_switching_test/surfaces/sf_2.py
Normal file
21
surface_switching_test/surfaces/sf_2.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import pygame
|
||||||
|
from surface_switching_test.surfaces.objects import text as surface_text
|
||||||
|
|
||||||
|
class Surface(pygame.Surface):
|
||||||
|
def __init__(self, window_size):
|
||||||
|
super().__init__(window_size, pygame.SRCALPHA)
|
||||||
|
self.test = 0
|
||||||
|
self.running = True
|
||||||
|
self.next_surface = 'sf_3'
|
||||||
|
self.countdown = 100
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
self.fill((0, 255, 0))
|
||||||
|
|
||||||
|
text = surface_text.RegularText('Surface stopping and swtiching to {0} in: {1}'.format(self.next_surface,
|
||||||
|
str(self.countdown)))
|
||||||
|
self.blit(text.surface, text.rect)
|
||||||
|
|
||||||
|
self.countdown -= 1
|
||||||
|
if self.countdown < 0:
|
||||||
|
self.running = False
|
21
surface_switching_test/surfaces/sf_3.py
Normal file
21
surface_switching_test/surfaces/sf_3.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import pygame
|
||||||
|
from surface_switching_test.surfaces.objects import text as surface_text
|
||||||
|
|
||||||
|
class Surface(pygame.Surface):
|
||||||
|
def __init__(self, window_size):
|
||||||
|
super().__init__(window_size, pygame.SRCALPHA)
|
||||||
|
self.test = 0
|
||||||
|
self.running = True
|
||||||
|
self.next_surface = 'sf_1'
|
||||||
|
self.countdown = 100
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
self.fill((0, 0, 255))
|
||||||
|
|
||||||
|
text = surface_text.RegularText('Surface stopping and swtiching to {0} in: {1}'.format(self.next_surface,
|
||||||
|
str(self.countdown)))
|
||||||
|
self.blit(text.surface, text.rect)
|
||||||
|
|
||||||
|
self.countdown -= 1
|
||||||
|
if self.countdown < 0:
|
||||||
|
self.running = False
|
Loading…
Reference in New Issue
Block a user