pilas.camara.Camara

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.