Mercurial > mamba
view mamba/habitats/mainmenu.py @ 106:d1152f2a0e13
Mouse affects focus
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sun, 11 Sep 2011 20:05:35 +0200 |
parents | a4eb3f7c0233 |
children | d5aa5f805f00 |
line wrap: on
line source
"""Main menu.""" from pygame.constants import K_RETURN from pygame.locals import MOUSEMOTION, KEYDOWN, QUIT import pygame.event from mamba.constants import ESCAPE_KEYS from mamba.engine import Habitat, NewHabitatEvent from mamba.widgets.base import Container from mamba.widgets.text import TextButton class MainMenu(Habitat): def __init__(self): super(MainMenu, self).__init__() start = TextButton((100, 100), "Dev Level", color='white') start.add_callback(KEYDOWN, self.start_event) self.container.add(start) quit = TextButton((100, 200), "Quit", color='white') quit.add_callback(KEYDOWN, self.quit_keydown_event) self.container.add(quit) self.container.add_callback(KEYDOWN, self.keydown_event) c = Container((400, 100)) c.add(TextButton((400, 100), "3", color='white')) self.container.add(c) c = Container((400, 200)) c.add(TextButton((400, 200), "4", color='white')) self.container.add(c) def start_event(self, ev, widget): if ev.key == K_RETURN: from mamba.habitats.level import LevelHabitat NewHabitatEvent.post(LevelHabitat('dev')) def keydown_event(self, ev, widget): if ev.key in ESCAPE_KEYS: pygame.event.post(pygame.event.Event(QUIT)) return True def quit_keydown_event(self, ev, widget): if ev.key == K_RETURN: pygame.event.post(pygame.event.Event(QUIT)) return True