lunes, 21 de abril de 2008

[Renpy] Declaración de Objetos

Un juego de Renpy, puede tener distintos archivos .rpy, aunque no es necesario más de uno, el script.rpy. Cada fichero, se divide a su vez en dos partes: un bloque init y el label start, aunque posteriormente podremos tener tantos label como queramos, siendo el start, obligatorio unicamente en el fichero script.rpy. Un label es simplemente un bloque de código. En él, detallaremos las acciones que queramos llevar a cabo en nuestro juego, pero antes, tenemos que declarar imagenes, sonidos, personajes, etc. Todo ello, irá descrito en el bloque init.

. Para declarar imagenes, tanto de escenarios como de personajes, escribiremos:
image nombre_que_queramos = "archivo.jpg"
. Para definir un personaje, que será el que "hable" en nuestra historia:
$ nombre =Character('nombre_que_saldra_en_pantalla', color='nº del color en
hexadecimal'
Hace un tiempo coloqué una tabla de los distintos colores y su valor numérico.

. Para definir una variable, que podremos usar como condición de control o contador de puntos:
$ nombre_variable= 0
ó
$ nombre_variable=False
Posteriormente veremos formas avanzadas de declaración, pero para empezar es suficiente. ¿Y cómo lo usaremos? En la etiqueta label, si queremos mostrar por pantalla un texto en boca de un personaje no definido, usaremos las comillas dobles. Por ejemplo:
"Hola, soy coco"
En pantalla, en el recuadro de dialogo aparecerá dicha frase. Si queremos que uno de nuestros personajes definidos diga algo, escribiremos:
nombre "Hola soy nombre"
Hay que distinguir entre el nombre que saldrá en pantalla y el nombre que damos al personaje. Si tenemos una chica llamada Susana, a la hora de definir su personaje, podriamos usar:
$ s=Character('Susana', color='FFFFFF')
Con lo que, si quisieramos que Susana dijera que es de noche, lo hariamos asi.

s "Es de noche"
Ahorrandonos tener que escribir de más.
Si queremos mostrar como fondo de pantalla una imagen, usaremos:

scene fondo

donde fondo es el nombre de la variable en la que definimos el fondo. Y si quiesieramos mostrar la imagen de susana, escribiriamos:

show susana_imagen

Si queremos que desaparezca, usaremos:

hide susana_imagen

Y eso es todo lo básico para comenzar a hacer nuestra propia novela visual.

2 comentarios:

  1. Hola tengo problemas con
    Translation Actions, Functions, and Variables

    _(s)

    (Single underscore) Returns s unchanged. Ren'Py will scan for strings enclosed in this function, and add them to the list of translatable strings. The strings will not be translated until they are displayed.

    no se como agregarlo , #si el texto no ha de ser escaneado , entonces si deseo hacer una traduccion como lo va a traudcir ?

    si sabes algo de esto ( lo mas dificil va ser crear un juego en python como ese pinball de prueba ) , en hora buena ! ....aunque en realidad no le doy mucha importancia ,
    Te sigo , este es tu portal ?

    ResponderEliminar
  2. Hola!! Bueno, no sé muy bien cómo va el tema de las traducciones. Hasta donde yo sé, una vez has terminado tu juego, si pulsas en "Generar traducciones". Te pedirá a qué lenguaje quieres traducir el texto y creará una carpeta con el mismo nombre dentro del directorio "tl" de la carpeta "game" donde tengas tu juego. Si entras en esa carpeta, por ejemplo "english", encontrarás unos cuantos ficheros .rpy que tendrás que editar rellenando el espacio entre las comillas bajo cada frase, con su traducción correspondiente.

    Una vez terminado, habría que poner el siguiente código:

    frame:
    style_group "pref"
    has vbox

    label _("Language")
    textbutton "Español" action Language(None)
    textbutton "English" action Language("english")

    en el fichero script.rpy. No sé exactamente cómo funciona porque nunca lo he usado, pero en cuanto lo pruebe te digo.

    Empecé con Renpy hace mucho tiempo, hice una novela corta para un blog que tenía y lo dejé. De hecho este blog era para apuntarme cosas y que no se me olvidaran.
    Gracias por la visita!!

    ResponderEliminar

Speak freely, friend.

Backside Games Studios

Backside Games Studios © 2014 - Designed by Templateism.com, Plugins By MyBloggerLab.com | Published By Gooyaabi Templates