Package pilas :: Module camara :: Class Camara
[hide private]
[frames] | no frames]

Class Camara

source code

object --+
         |
        Camara

Representa el punto de vista de la ventana.

Los atributos ``x`` e ``y`` indican cual debe ser el punto central de la pantalla. Por defecto estos valores con (0, 0).

Instance Methods [hide private]
 
__init__(self, motor)
Inicializa la cámara.
source code
 
_set_x(*args, **kwargs)
Define la posición horizontal de la cámara.
source code
 
_get_x(self)
Retorna la posición horizontal.
source code
 
_set_y(*args, **kwargs)
Define la posición vertical de la cámara.
source code
 
_get_y(self)
Retorna la posición vertical.
source code
 
obtener_area_visible(self)
Retorna el area del escenario que está visible por la cámara.
source code
 
desplazar(self, posicion)
Mueve la cámara hacia una posición en particular.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]
  x
Retorna la posición horizontal.
  y
Retorna la posición vertical.

Inherited from object: __class__

Method Details [hide private]

__init__(self, motor)
(Constructor)

source code 

Inicializa la cámara.

:param motor: Referencia al motor de pilas.

Overrides: object.__init__

_set_x(*args, **kwargs)

source code 

Define la posición horizontal de la cámara.

:param x: Posición horizontal.

Decorators:
  • @pilas.utils.interpolable

_set_y(*args, **kwargs)

source code 

Define la posición vertical de la cámara.

:param y: Posición vertical.

Decorators:
  • @pilas.utils.interpolable

obtener_area_visible(self)

source code 

Retorna el area del escenario que está visible por la cámara.

Por ejemplo, si la cámara está en posición inicial, esta función podría retornar:

>>> pilas.escena_actual().camara.obtener_area_visible()
(0, 640, 240, -240)

y si movemos la cámara un poco para la derecha:

>>> pilas.escena_actual().camara.x = 100
>>> pilas.escena_actual().camara.obtener_area_visible()
(100, 740, 240, -240)

Es decir, la tupla representa un rectángulo de la forma:

   (izquierda, derecha, arriba, abajo)

En nuestro caso, el último ejemplo muestra que cuando la cámara se mueve a ``x = 100`` el area de pantalla visible es ``(izquierda=100, derecha=740, arriba=240, abajo=-240)``. ¡ ha quedado invisible todo lo que está a la izquierda de ``x=100`` !

Esta función es útil para ``despetar`` actores o simplemente

Si quieres saber si un actor está fuera de la pantalla hay un atajo, existe un método llamado ``esta_fuera_de_la_pantalla`` en los propios actores:

>>> mi_actor = pilas.actores.Mono(x=0, y=0)
>>> mi_actor.esta_fuera_de_la_pantalla()
False
>>> pilas.escena_actual().camara.x == 900
>>> mi_actor.esta_fuera_de_la_pantalla()
True

desplazar(self, posicion)

source code 

Mueve la cámara hacia una posición en particular.

:param posicion: La posición destino, a donde enfocar.


Property Details [hide private]

x

Retorna la posición horizontal.

Get Method:
_get_x(self) - Retorna la posición horizontal.
Set Method:
_set_x(*args, **kwargs) - Define la posición horizontal de la cámara.

y

Retorna la posición vertical.

Get Method:
_get_y(self) - Retorna la posición vertical.
Set Method:
_set_y(*args, **kwargs) - Define la posición vertical de la cámara.