pilas.mundo

Package pilas :: Module mundo |
[hide private]
[frames] | no frames]

# Source Code for Module pilas.mundo

     1  # -*- encoding: utf-8 -*-
     2  # pilas engine - a video game framework.
     3  #
     4  # copyright 2010 - hugo ruscitti
     5  # license: lgplv3 (see http://www.gnu.org/licenses/lgpl.html)
     6  #
     7  # website - http://www.pilas-engine.com.ar
     8
     9  from pilas import control
    10  from pilas import fisica
    11  from pilas.escena import Gestor, Normal
    12
    13
    14 -class Mundo(object):
    15      """Representa un objeto unico que mantiene en funcionamiento al motor.
    16
    17      Mundo tiene como responsabilidad iniciar los componentes del
    18      motor y mantener el bucle de juego.
    19      """
    20
    21 -    def __init__(self, motor, ancho, alto, titulo, rendimiento=60, gravedad=(0, -10), pantalla_completa=False):
    22          self.gestor_escenas = Gestor()
    23
    24          self.motor = motor
    25          self.motor.iniciar_ventana(ancho, alto, titulo, pantalla_completa, self.gestor_escenas, rendimiento)
    26
    27          self.gravedad = gravedad
    28
    29 -    def crear_motor_fisica(self):
    30          return fisica.crear_motor_fisica(self.motor.obtener_area(), gravedad=self.gravedad)
    31
    32 -    def reiniciar(self):
    33          self.gestor_escenas.limpiar()
    34          self.gestor_escenas.cambiar_escena(Normal())
    35
    36 -    def terminar(self):
    37          self.motor.terminar()
    38
    39 -    def ejecutar_bucle_principal(self, ignorar_errores=False):
    40          "Mantiene en funcionamiento el motor completo."
    41          self.motor.ejecutar_bucle_principal(self, ignorar_errores)
    42
    43 -    def agregar_tarea_una_vez(self, time_out, function, *params):
    44          return self.gestor_escenas.escena_actual().tareas.una_vez(time_out, function, params)
    45
    46 -    def agregar_tarea_siempre(self, time_out, function, *params):
    47          return self.gestor_escenas.escena_actual().tareas.siempre(time_out, function, params)
    48
    49 -    def agregar_tarea(self, time_out, funcion, *parametros):
    50          return self.gestor_escenas.escena_actual().tareas.condicional(time_out, funcion, parametros)
    51
    52 -    def deshabilitar_sonido(self, estado=True):
    53          self.motor.deshabilitar_sonido(estado)
    54
    55 -    def deshabilitar_musica(self, estado=True):
    56          self.motor.deshabilitar_musica(estado)
    57
    58 -    def get_tareas_deprecated(self):
    59          print "CUIDADO: Acceder al atributo 'tareas' esta desaconsejado."
    60          print "\t utilice en su lugar: pilas.utils.agregar_tarea, agregar_tarea_una_vez o agregar_tarea_siempre"
    61          return self.gestor_escenas.escena_actual().tareas
    62
    63 -    def get_camara_deprecated(self):
    64          print "CUIDADO: Acceder al atributo 'camara' esta desaconsejado."
    65          print "\t utilice en su lugar: pilas.escena_actual().camara"
    66          return self.gestor_escenas.escena_actual().camara
    67
    68 -    def get_colisiones_deprecated(self):
    69          print "CUIDADO: Acceder al atributo 'colisiones' esta desaconsejado."
    70          print "\t utilice en su lugar: pilas.escena_actual().colisiones"
    71          return self.gestor_escenas.escena_actual().colisiones
    72
    73 -    def get_control_deprecated(self):
    74          print "CUIDADO: Acceder al atributo 'control' esta desaconsejado."
    75          print "\t utilice en su lugar: pilas.escena_actual().control"
    76          return self.gestor_escenas.escena_actual().control
    77
    78      tareas = property(get_tareas_deprecated)
    79      camara = property(get_camara_deprecated)
    80      colisiones = property(get_colisiones_deprecated)
    81      control = property(get_control_deprecated)
    82