¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 RGSS3 Para principiantes el Lun Jun 08, 2015 8:50 pm

Reputación del mensaje :100% (7 votos)

XSerozY

avatar
RGSS3 Para principiantes
Por XSerozY


Hola gente! Soy nuevo en el foro, y al no encontrar nada parecido, creo este "pequeño" tutorial destinado a cualquiera que se quiera iniciar en RGSS3 c: si gusta quizás cree una segunda parte jeje

OJO: RGSS3 es el lenguaje usado en RPG Maker VX Ace, en XP, VX, etc, no funcionará!

Muy bien, empezemos:

Métodos
Los métodos son.. los bloques de código que comienzan en def y terminan en end xD
Definamos a los métodos como conjuntos de acciones que se ejecutan en orden, como una lista de tareas Very Happy

¿Cómo creo un método? Así:

def [nombre del método]
  # acciones que se ejecutan en orden
end

Cuando escribamos un # , todo lo que esté a su derecha se transformará en un comentario. Los comentarios la máquina no los lee pero nosotros sí, y ayudan a mantener ordenado nuestro script ;D

Al método podemos ponerle el nombre que queramos, pero no pueden haber dos métodos con el mismo nombre, o se sobrescribirán. Aquí un pequeño ejemplo:

def MiMetodo
 msgbox_p("Hola gente!!!")
end

Como veras, el método se llama "MiMetodo".

¿Qué es eso de "msgbox_p" ? Bueno, recuerdas que los métodos son como conjuntos de acciones (o tareas) que se ejecutan en orden? Esas acciones son en realidad otros métodos, de manera que lo que hacemos es ejecutar otros métodos dentro del nuestro. Tranqui, con paciencia se entiende jeje

"msgbox_p" es un método que muestra un mensaje (el texto dentro de los paréntesis y entre comillas) en la pantalla, algo así como esto:


Escribe el código en un espacio de scripts vacío (entre Materials y Main) y ejecútalo.

¿Qué pasa? No aparece ningún mensaje? Bueno.. ¿Recuerdas que dentro de nuestro método ejecutamos el método "msgbox_p" ? de la misma forma, debemos ejecutar nuestro método! Así:

def MiMetodo
 msgbox_p("Hola gente!!!")
end

MiMetodo()

Y bien? Funciona ;D

Variables
Las variables son como "almacenes" donde guardamos algo para usarlo más adelante.
Existen 4 categorías de variables: globales, constantes, locales y de instancia. Cada una se declara(crea) de forma distinta:

$globales    # Comienzan con un '$'
CONSTANTES   # Comienzan con MAYUSCULAS
locales      # Comienzan con minusculas
@instancia   # Comienzan con un '@'

Las de instancia las dejaremos para más adelante.

¿Cual es la diferencia de estas variables?
 ~  Las globales se pueden usar donde tu quieras!
 ~  Las constantes tienen un valor que NUNCA cambiará, es decir, siempre almacenarán lo mismo.
 ~  Las locales solo pueden ser usadas dentro del método donde se crean.

Ya, todo claro? Bien.. Ahora, dijimos que las variables pueden almacenar cosas, cierto? Pues, que cosas?
Las más comunes son:


integer = 1, 10, 100, 242432  # Almacena un número entero
real    = 1.3, 53.567, 246.21 # Almacena un número real (con decimales)
string  = "A", "hola a todos" # Almacena texto
boolean = true, false         # Almacena un valor verdadero o falso

Como le asignamos un valor (guardamos algo) en una variable? colocamos el "=" y el valor. Así de simple jeje

Modifiquemos nuestro ejemplo anterior para usar variables:


def MiMetodo
    texto1 = "Hola "
    texto2 = "uva!!!"
    texto2 = "gente!!!"
    msgbox_p(texto1 + texto2)
end

MiMetodo()

En orden, lo que hacemos es crear dos variables (texto1 y texto2) y les asignamos un valor de texto (de manera que son variables del tipo "string").
Luego, le cambiamos el valor a texto2, de manera que diga "gente!!!" y no "uva!!!" (no queremos saludar a una uva, o si?)
Finalmente, usando "msgbox_p" mostramos la "suma de texto1 y texto2", es decir, "Hola " + "gente!!!" = "Hola gente!!!"

Práctico, no? ;D

Operaciones aritméticas
De yapa, si tenemos variables de números (integer o real), podemos sumarlas, restarlas, multiplicarlas y dividirlas.. Un ejemplo:


def MiMetodo
 numero  = 100  # Creamos una variable llamada número
 numero += 100  # Le sumamos 100
 numero -= 20   # Le restamos 20
 numero *= 4   # Le multiplicamos 4
 numero /= 2    # Le dividimos 2
 
 msgbox_p(numero) # Mostramos el resultado
end

MiMetodo()

Es solo cosa de tener imaginacion jeje

FIN

Y aquí acaba este pequeño tutorial donde explico lo básico que cualquier iniciado en scripting debe saber ;D

Puedes continuar con la segunda parte del tutorial aquí.

Espero que sirva, cualquier cosa díganmela Ópalo Sonriente

Saludos!!



Última edición por XSerozY el Miér Jun 10, 2015 7:40 pm, editado 1 vez

#2 Re: RGSS3 Para principiantes el Lun Jun 08, 2015 9:53 pm

Ledai

avatar
GRACIAS por tu esfuerzo!!! yo uso el Xp, pero aún así te agradezco tu aporte en nombre de todos los usuarios del Ace ^_^

Ópalo Reputación




Entérate de todas las novedades

#3 Re: RGSS3 Para principiantes el Mar Jun 09, 2015 4:56 am

orochii

avatar
Bueno en realidad lo que ha puesto XSerozY es de Ruby puro, y son conceptos básicos, entonces puedes emplearlos tanto en RGSS1 como en el 2 o el 3 (a.k.a. vale para cualquier maker :V, e incluso para cualquier versión de Ruby, creo xD -el msgbox es lo único que no prometo xD-).

Gracias por el tutorial. Es como lo más básico, pero oie, un lenguaje se aprende primero por la gramática xD.

Te dejo un Ópalo Ópalo Reputación (BTW... ¿Ópalo es chico o chica?)

#4 Re: RGSS3 Para principiantes el Mar Jun 09, 2015 8:20 pm

XSerozY

avatar
@orochii escribió:Bueno en realidad lo que ha puesto XSerozY es de Ruby puro, y son conceptos básicos, entonces puedes emplearlos tanto en RGSS1 como en el 2 o el 3

Sonará gracioso, pero conocí Ruby por medio del Ace xD no conozco los RGSS de las otras versiones, así que para no equivocarme, marqué el tutorial como de RGSS3 :v


Gracias a todos por los comentarios! n.n

#5 Re: RGSS3 Para principiantes el Mar Jun 09, 2015 9:28 pm

Natalie

avatar
Pues muy buen tutorial! Es cortito pero creo que eso es una ventaja, pues si fuera muy extenso quizás agotara a quien intente aprender (véase yo xD). La verdad que me ha quedado claro, lo has explicado de tal manera que es fácil de entender! Ópalo Contento

Viendo que Orochii decía que era Ruby puro y que valía para todos los makers, he intentado seguir tus pasos en el XP, y confirmo la duda de Orochii sobre si valdría o no el msgbox... ¡NO! Vaya error que me ha saltado! xD



La ventanita la he juntado con el texto de script para que ocupe menos espacio la imagen, pero en realidad salía al iniciar el juego.

Lo dicho, ¡me ha gustado tu tutorial! Ópalo Reputación  ¿Te has planteado ir haciendo post con más explicaciones sobre RGSS? Seguro que serían muy útiles!! Ópalo Contento

¡Saludos! Opalo Hola

#6 Re: RGSS3 Para principiantes el Mar Jun 09, 2015 10:06 pm

XSerozY

avatar
natalie_cuxi escribió:
Viendo que Orochii decía que era Ruby puro y que valía para todos los makers, he intentado seguir tus pasos en el XP, y confirmo la duda de Orochii sobre si valdría o no el msgbox... ¡NO! Vaya error que me ha saltado! xD

Lo dicho, ¡me ha gustado tu tutorial! Ópalo Reputación  ¿Te has planteado ir haciendo post con más explicaciones sobre RGSS? Seguro que serían muy útiles!! Ópalo Contento

¡Saludos! Opalo Hola

Baya!! Hice bien en colocar que era solo válido para el RGSS3 Opalo Hola

Lo cierto es que comentarios así animan a continuar con los tutoriales, he estado en foros donde solo entran, miran, y ni las gracias dan jaja Opalo Triste

Saludos! ^^

#7 Re: RGSS3 Para principiantes el Miér Jun 10, 2015 12:00 am

Brrt

avatar
antes que nada te doy un hola y disculpa el retraso en responderte aqui jeje. lo primero es lo primero, entendi mas o menos tu explicacin (sorry, soy algo lento xD) pero se que ha muchos de la comunidad le gustaran esto, y ademas con esto se me viene una pequeña idea pero no se si me llega resultar, si me resulta se los monto, sino también se los monto xD

te dare un Ópalo Reputación por tu explicacion y el tutorial bien explicado y sencillo (tendre que dormir para poder leer entender bien, creo que es por mi falta de sueño xD) te doy aplausos y estaré esperando algún otro truquillo tuyo Ópalo Gato Ópalo Aplaudiendo

#8 Re: RGSS3 Para principiantes el Miér Jun 10, 2015 2:42 pm

Tomate

avatar
¡Hola XSerozY! ¡Qué buena publicación! Ordenada, con colores y prolija...¡Te tomaste tu tiempo en hacer esto! ¡¡GRACIAS POR EL GRAN APORTE!!

Me resulta muy interesante leer sobre cosas relacionadas al RGSS3 cuando está escrito por un compañero de la comunidad, pues tu lo haces de manera más didáctica y específica al Maker, y no más general al Ruby.

Se nota que estás aprendiendo programación y, por sobre todas las cosas, que tienes bien en claro un montón de términos y funcionamientos de los códigos. ¡Te admiro! Espero que sigas practicando y con el tiempo te hagas un programador más famoso que Mog-Hunter. Ópalo Contento

Me surgió una duda, pero no con respecto a tus enseñanzas, sino con tu capacidad creativa: ¿estás trabajando actualmente en algún código? ¿Tienes scripts de tu autoría? Sé que es cuestión de imaginación...pero seguro que es difícil hacer uno desde cero.

¡¡Mis felicitaciones y mi punto de reputación para tí!! Ópalo Aplaudiendo Ópalo Reputación

#9 Re: RGSS3 Para principiantes el Miér Jun 10, 2015 4:16 pm

orochii

avatar
Para el cuadro de mensaje, en lugar de msgbox_p("texto") puedes usar sino el comando msgbox("texto") simplemente, o también print("texto"). Ambos funcionan igual.

El msgbox_p estoy viendo en qué se diferencia y... al parecer hace algo con los argumentos que recibe xd, los une en líneas separadas o algo así :V (para luego mostrarlo en una caja de texto). No sé, no lo había visto xD!.

#10 Re: RGSS3 Para principiantes el Miér Jun 10, 2015 6:49 pm

Bleuw

avatar
Yo siempre agradezco tener estas cosas a mano porque soy muy noob respecto a scripts. Sí, sé editarlos, sacar y poner alguna que otra cosa, pero si tuviera que crear algo de cero, estaría en la nada, así que algo como esto viene siempre muy bien.

Saludos.

#11 Re: RGSS3 Para principiantes el Miér Jun 10, 2015 7:48 pm

XSerozY

avatar
Gracias a todos por los comentarios ^^ me tomé la molestia de hacer una segunda parte mientras descansaba Opalo Hola

@Tomate escribió:¿estás trabajando actualmente en algún código? ¿Tienes scripts de tu autoría?

Hasta ahora no he hecho ningún código "configurable", por lo que solo funcionan en mi proyecto (sip, están integrados.. o al menos estaban, perdí lo que llevaba por que mi PC se quemó Opalo Triste )

@orochii escribió:en lugar de msgbox_p("texto") puedes usar sino el comando msgbox("texto") simplemente, o también print("texto"). Ambos funcionan igual.

Quizás esos si funcionen en otros RGSS Ópalo Contento jaja también me entra la curiosidad, quiero saber la diferencia de uno y de otro xD.

Saludos!!

#12 Re: RGSS3 Para principiantes el Jue Jun 11, 2015 9:56 am

Reputación del mensaje :100% (1 voto)

orochii

avatar
Pos yo leí por ahí. Había una explicación, en código, de qué hacía el msgbox_p. El msgbox_p básicamente es un msgbox pero antes de todo procesa los argumentos que le dés. CREO que los otros no lo hacen, simplemente le pasas argumentos y... hacen lo suyo.

El procesado que hace el msgbox_p es unir los argumentos con saltos de línea. Ejemplo, pones

msgbox("a","b","c")

Y si no me equivoco, saldría un cuadro de texto que diría

a
b
c

El print sé por experiencia que crashea si le pasas más de un argumento xD. Pero el msgbox pues... no tengo idea. Creo que el print del maker, previos al RGSS3, llamaba un msgbox y listo xD. En el RGSS3, como existe la consola, el print imprime lo que le mandes como argumento en la consola. En los otros (RGSS1/2) funciona como un msgbox.

#13 Re: RGSS3 Para principiantes el Jue Jun 11, 2015 10:51 pm

XSerozY

avatar
@orochii escribió: En el RGSS3, como existe la consola, el print imprime lo que le mandes como argumento en la consola.

Es un buen dato, gracias Ópalo Contento
Por cierto, para la consola en RGSS3 yo simplemente uso "p(texto)" xD

Saludos!

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.