en Ren'Py

Tutorial de Ren’Py – Imágenes

El bloque init, que también usáramos con las variables es un bloque con código que se ejecuta al momento de abrir el juego, sin embargo, a diferencia de las variables no debemos usar $ al inicio de ellas, solo debemos usar el comando image así:



init:

    image zane = "zane.png"


Primero le usamos image, le asignamos un nombre y luego de un signo igual le decimos que archivo va a usar.

Pueden organizar sus imágenes por carpetas, solo deben de indicar la ruta hacia la imagen y por supuesto que todo esté dentro de la carpeta game, algo así:



init:

    image zane = "sprites/zane.png"


Nótese que es / y no \.

Un detalle importante del nombre es que puede tener más de una parte, veamos como funciona eso.

Digamos que tenemos estas imágenes:

python14

Podríamos declararlas en el codigo así:



init:

    image sharohappy = "a.png"

    image sharomad = "b.png"

    image sharosad = "c.png"

    image nerohappy = "d.png"

    image neromad = "e.png"

    image nerosad = "f.png"


Pero el modo correcto sería organizar las imágenes así:

python15

En el codigo veríamos algo así:



init:

    image milky sharo happy = "a.png"

    image milky sharo mad = "b.png"

    image milky sharo sad = "c.png"

    image milky nero happy = "d.png"

    image milky nero mad = "e.png"

    image milky nero sad = "f.png"


¿De qué sirve esto? Pues imagínense que tenemos una caja llamada milky, dentro de esta hay dos cajas más pequeñas llamadas sharo y nero y cada una tiene tres cajas más pequeñas dentro llamadas happy, mad y sad.

Si queremos mostrar a Sharo feliz entonces decimos:



show milky sharo happy


Le estamos diciendo que en la caja sharo dentro de la caja milky busque la caja happy y la muestre, esto significa que si le decimos…



show milky nero happy


…entonces buscará la imagen happy dentro de la caja nero en lugar de la caja sharo.

¿Pero de que sirve esto? Es más que solo orden, primero y principal, si queremos ocultar a nero happy podemos ahorrarnos escribir:



hide milky nero happy


Y solo escribir…



hide milky


Pues estamos ocultando la caja más grande que carga todas las pequeñas.

Su otra función es que si queremos cambiar de expresión no debemos escribir:



show milky sharo happy

#dialogo

hide milky sharo happy

show milky sharo sad


Solo debemos escribir:



show milky sharo happy

#Dialogo

show milky sharo sad


El juego reemplazará la imagen en lugar de mostrar otra distinta.

Por supuesto, si se trata de personajes el deber ser es hacer esto:



init:

    image sharo happy = "a.png"

    image sharo mad = "b.png"

    image sharo sad = "c.png"

    image nero happy = "d.png"

    image nero mad = "e.png"

    image nero sad = "f.png"


No meter a todos los personajes en una caja grande sino que cada personaje sea su propia caja.

Si queremos mostrar una copia de alguna imagen que ya tenemos no es necesario hacer una caja nueva en el codigo. Digamos que para una escena necesitamos a dos Sharo felices (yay!), entonces hacemos esto:



show sharo happy

show sharo happy as sherlock


En la segunda linea mostramos a otra sharo happy, pero esta es una copia que responde al nombre sherlock (El nombre dado luego del comando «as»). Si decimos hide sharo, entonces sherlock seguirá en escena pues atiende a otro nombre, deberíamos decir «hide sherlock» para poder hacerlo.

Todo bien hasta ahora excepto porque no le estamos diciendo a Ren’Py a donde mostrar las imágenes