This is a basic project template for PyGame It contains the basic pygame setup, the basic game loop, and input and sound helpers.
Clone this repo
git clone https://github.com/ArtBIT/pygame-template
Install PyGame if you haven't already
python3 -m pip install -U pygame --user
And run the main.py
python3 src/main.py
# src/states.py
class State:
...
class Intro(State):
def boot(self):
self.game.audio.load_sound('intro', os.path.join('assets', 'sounds', 'intro.wav'))
# Show "Press any key" centered on screen
font_path = os.path.join('assets', 'fonts', 'PressStart2P-Regular.ttf')
text = "Press any key to switch to Outro"
any_key_text = TextSprite(self.game, font_path, text, 12, color = (255,255,255))
any_key_text.rect.center = self.game.screen.get_rect().center
self.all_sprites.add(any_key_text)
def enter(self):
# When this state is entered, play the intro sound
self.game.audio.play('intro')
def update(self):
# On every frame, update all the sprites and check for keypress
super().update();
if self.game.input.is_key_pressed('any'):
# you can change to a different state
# self.game.change_state('Outro')
# but for this example we simply quit
self.game.quit()
...
# Define the export order of the states. src/game.py will atomatically register all the states and load the first one
__all__ = ['Intro']
Intro sound is from https://freesound.org/s/438921/ licensed under CC0 1.0 license.
MIT