en Ren'Py

Tutorial de Ren’Py – Screens

Si queremos hacer un botón tenemos tres opciones.

La primera es textbutton, que permite hacer un botón cuyo contenido es el texto provisto.



screen cosa:

    textbutton "Salir" xpos 1.0 ypos 0 action Return()


La segunda es imagebutton, que a diferencia de textbutton que utiliza el estilo por defecto (Ya saben, eso al crear el proyecto donde escogen un borde y una gama de colores) o el que se le provea, imagebutton permite definir una imagen como el idle (Botón normal), insensitive (Botón que no recuerda tu aniversario puede ser seleccionado), hover (Al pasarle el mouse por encima), selected_idle (Botón normal pero cuyo contenido está «Activo») o selected_hover (Lo mismo pero al pasarle el mouse por encima). Por ejemplo:



screen cosa:

    imagebutton:

        xpos 0.5
        ypos 0.5
        idle "boton_normal.png"
        hover "boton_seleccionado.png"
        action Return()


La tercera forma, más que una función distinta, es un método para escribir los botones. Si podemos tomar textbutton y escribirlo…



screen cosa:

    button:

        xpos 1.0
        ypos 0
        text "Salir"
        action Return()


Y sería lo mismo. Esto también puede aplicarse a imagebutton, pero la ventaja de usar solo button es que se puede crear un botón sin texto dentro y sin usar imágenes.

En todos los casos notarán un comando llamado «action». Y bien… los botones deben de hacer ALGO ¿No? El comando action se activa al hacer click en el botón, del mismo modo está el comando hovered (Se activa una acción al hacer hover sobre el botón) y unhovered (Al dejar de hacer hover. Nótese que unhover solo se activará si se hizo hover sobre el botón primero). Un ejemplo es:



screen cosa:

    button:

        xpos 200
        ypos 100
        text "acciones"
        hovered SetVariable("cosa", True)
        unhovered SetScreenVariable("conteo", conteo +1)
        action Return()


Si a este botón se le hace hover entonces hará que una variable llamada «cosa» se vuelva True, el comando SetVariable() toma la variable indicada y cambia su valor por el provisto (Si quisieramos una variable cosa = «cosa» diríamos SetVariable(«cosa», «cosa»)). si se aparta el mouse del botón luego de haber hecho hover se activará el unhovered, SetScreenVariable cambia el valor de una variable pero solo mientras la screen con la acción esté presente; esto significa que apenas se oculte o desaparezca el screen cosa el valor de conteo será el mismo que antes de que se mostrara, es util para valores que quieres que se reseteen en una variable (Si se quiere sumar/restar a un valor con acciones se debe colocar primero la variable y luego la variable con el operador como en el ejemplo. Esto también sirve son SetVariable). El comando final es action, que como dijimos antes se activa al hacer click en el botón, en este caso tiene Return() el cual tiene varias funciones, pero la más común es salir de un screen que se ha llamado.

En otra oportunidad hablaremos de cada acción para screens que viene con Ren’Py, por el momento sigamos.