RPG OTAKU
¡Hola! te invitamos a que te unas a RPG-OTAKU,
foro de desarrollo de videojuego con RPG MAKER y ademas de que tenemos del infaltable ocio.

Si deseas disfrutar del foro al 100%,
registrate, en poco minutos, sin confirmación de e-mail y totalmente gratis, si ya estas registrado, solamente conectate, y si lo que quieres es observar el foro como invitado, solo ignora este mensaje.
¡Eres libre de escoger lo que tu quieras!

ESCUELA DE RGSS 2 (Ventanas y Variables I) by Clark-CLK

Ir abajo

ESCUELA DE RGSS 2 (Ventanas y Variables I) by Clark-CLK

Mensaje por Clark-CLK el Vie Sep 30, 2011 3:44 pm

ESCUELA DE RGSS 2 (Ventanas y Variables I) by Clark-CLK

Bienvenidos de nuevo a mi segunda clase de RGSS, desde la última han pasado justo 24 dias, que son un poco más de 3 semanas, ya dije que habría varios retrasos, pero no puedo ir más rápido. Bien, pues en esta clase les enseñaré a crear una ventana, o editar una, para que nos imprima una variable, tambien en la clase siguiente, será sobre como poner interruptores para llamar a dicha ventana :)

Empezemos con la solución del ejercicio anterior, os dije que miraráis ejemplos en los scripts default, pero hay dos formas de hacerlo, por ventanas (que se explica en esta clase y por Print, que lo explico para la solución, usualmente, el métode print solo lo usaremos en el Scene_debug durante el testeo del juego para no molestar y saber errores :)

Solución:

Print

Lo más fácil, usando print sería algo parecido a esto, que viene a continuación, pero puede que haya métodos más eficaces. Este es el básico y si no expliqué a hacerlo fue porque casi no lo usaréis en vuestra carrera de RGSS, pero depende de vosotros xD

Creamos una clase Ejemplo:
Código:
class Ejercicio_AHRPG_RPGO_RGSS
end

Ahora añadamos el cuerpo:
Usaremos el def initialize:
Código:

class Ejercicio_AHRPG_RPGO_RGSS
def initialize
end
end

Ahora abremos de crear una variable, que en este caso le llamé "estudiante_RGSS". La variable será de instancia es decir, con @ delante. En esta clase explicaré algunas variables que pueden usar para las ventanas, principalmente las Globales, locales y de Instancia, no he usado ninguna vez, otra variable distinta.
Acto seguido le asignamos un valor a la variable, en este caso le llamé "alumno"
Código:
class Ejercicio_AHRPG_RPGO_RGSS
def initialize
@estudiante_rgss = ["Alumno A", "completó el ejercicio."]
end
end
Acordaros de escribir la variable entre comillas para que no de ningun tipo de error, fijense que separe a Alumno A de completo el ejercicio, eso se debe a que se imprimiran dos mensajes en el proyecto, una con Alumno A y el otro seguido de este, Completó el ejercicio.
Ahora pasaremos a la aplicación del print.
Añadid print seguido del nombre de la variable y un hash como el anterior con las strings en el interior:

Código:
class Ejercicio_AHRPG_RPGO_RGSS
def initialize
@estudiante_rgss = ["Alumno A", "completó el ejercicio."]
print @estudiante_rgss[1, 2]
end
end

Ejercicio completado! (tambien nos podriamos haber comido parte del codigo, pero asi os acostrumbrais al uso de def s y cerrar todo con end, para evitar errores no deseados.
Para saber si lo hicisteis bien, hagan un evento nuevo en un mapa que llame a vuestraclase.new en este caso:
Código:
Ejercicio_AHRPG_RPGO_RGSS.new

Clase 2

Variables

Aquí aprenderemos varios tipos de variables, entre ellos las globales ($) y de instancia (@), las locales las dejaré para el module.

Variables Globales:
Son variables sin valor aparente (nil, 0) que pueden ser llamadas desde cualquier clase, de ahi, que se llamen globales, su uso puede ser muy variado.
Se escriben con el simbolo de dolar $. Un ejemplo, puede ser llamar a una variable utilizada en el juego, una arma o armadura etc... Ejemplo:
Código:
$game_variables[X] # X es el numero de la variable.

Variables de Instancia
Empiezan con el signo de arroba (@). Suelen pertenecer a un cuerpo específico y un objeto específico, se diferencian de las globales, que estas no se pueden usar fuera de la clase en que se crean. (Nota: esta parte no la sabia como explicar y me guié en la guia de un gran scripter: Falcao)

Creando ventanas:
Debemos crear una nueva Clase, esta vez la llamaremos AHRPG_Window . Esta clase ha de ser una herencia de la Window_Base, si queremos que sea una ventana en pleno derecho, esto se le llama herencia, pero ya lo vereis. Esta ventana la podremos llamar desde el comando llamar script o en otros scripts con AHRPG_Window.new
Usaremos el def initialize de nuevo. Justo despues el super (x, x, X, X) los dos primeros denotan la posición de la ventana y los dos otros, el tamaño.
Código:

class AHRPG_Window < Window_Base
def initialize
super (0, 0, 400, 220)
end
end

Añadamos lo siguiente: self.contents = Bitmap.new (width - 32, height - 32)
eso hace uqe se reduzcan 32 pixeles de alto y ancho para "que este bien hecha"
cerrad con el refresh y haremos otro def

Código:

class AHRPG_Window < Window_Base
def initialize
super (0, 0, 400, 220)
self.contents = Bitmap.new (width - 32, height - 32)
refresh
end
def refresh
end
end

Ahora limpiamos la ventana para poder escribir contenido dentro. Para añadir contenido dentro podemos usar varios codigos, centremonoes en un pequeñop texto: Ventana hecha o cualquier parida que os venga a la cabeza.
Limpiamos con: self.contents.clear
Escribimos con: self.contents.draw_text (0, 0, 200, 86, Ventanita hecha hechita, hazte una pajita, y visita A Hope RPG xD)
Igual que con super los dos primeros es la posicion y los demas el texto.
Código:

class AHRPG_Window < Window_Base
def initialize
super (0, 0, 400, 220)
self.contents = Bitmap.new (width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.draw_text (0, 0, 200, 100, Ventanita hecha hechita, hazte una pajita, y visita A Hope RPG xD)
self.
end
end

Eso es lo básico de una ventana, ahora prueben de llamarla en un evento.

Ejercicios optativos:
Como en la clase anterior, un ejercicio optativo que os introducirá a la próxima clase, esta vez deben crear una ventana que se abra al pulsar la tecla deseada y imprimir una variable en su interior, la que quieran que creen :) Si no saben, pregunten.

Ayuda:
Fijense mucho en los scripts default del maker, como menus y demases. Les será de mucha ayuda para encontrar como completar el ejercicio. Ya que hay muchas ventanas y les enseñará a escribir nuevas variables mostrar gráficos y demás en vuestra ventana, pronto crearéis un menú o parte de él si practicáis con ellas.

Próxima clase:
-Aprenderemos a usar interruptores para llamar una ventana.
-Imprimiremos un par de variables en la ventana.

Wong Wong!!


Naveguen por A HOPE RPG desde mi firma



A HOPE RPG


Vive el RPG MAKER


Encuentra el soporte que necesitas para crear tu RPG


[Tienes que estar registrado y conectado para ver este vínculo]
avatar
Clark-CLK
Moderador
Moderador

Edad : 21
Mensajes : 191
Fecha de inscripción : 22/08/2011
Creditos : 98
Objetos :

Ver perfil de usuario http://ahoperpg-maker.ucoz.es

Volver arriba Ir abajo

Re: ESCUELA DE RGSS 2 (Ventanas y Variables I) by Clark-CLK

Mensaje por morkoelorko el Miér Oct 05, 2011 10:24 pm

me la gano...no supe como hacerlo xD...se que algo esta mal pero no se que es. Saludos xD
Código:
class Ejercicio_n2 < Window_Base
  def initialize
    super ( 50, 50, 200, 110)
    self.contents = Bitmap.new (width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.draw_text ( 0, 0, 100, 55,"Ventanita hecha hechita")
  end
end
class Ejercicio_n2b < Ejercicio_n2
  def control_asd
    if Input.press?(Input::ALT)
      Ejercicio_n2.new
    end
  end
end

Morko Out
avatar
morkoelorko
Super miembro
Super miembro

Edad : 24
Mensajes : 90
Fecha de inscripción : 02/10/2011
Creditos : 130
Objetos :

Ver perfil de usuario

Volver arriba Ir abajo

Re: ESCUELA DE RGSS 2 (Ventanas y Variables I) by Clark-CLK

Mensaje por Clark-CLK el Sáb Oct 08, 2011 4:13 pm

morkoelorko escribió:me la gano...no supe como hacerlo xD...se que algo esta mal pero no se que es. Saludos xD
Código:
class Ejercicio_n2 < Window_Base
  def initialize
    super ( 50, 50, 200, 110)
    self.contents = Bitmap.new (width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.draw_text ( 0, 0, 100, 55,"Ventanita hecha hechita")
  end
end
class Ejercicio_n2b < Ejercicio_n2
  def control_asd
    if Input.press?(Input::ALT)
      Ejercicio_n2.new
    end
  end
end

Morko Out

Lo del interruptor de momento dejale. primero crea la ventana y mira que este bien, modifica lo uqe creas etc... piensa en varaiciones posibles al Vx si usas este. Lo de la tecla te lo mostraré más adelante, ve por partes.
La segunda clase de momento sobra, fijate en la primera.

Wong Wong!!


Naveguen por A HOPE RPG desde mi firma



A HOPE RPG


Vive el RPG MAKER


Encuentra el soporte que necesitas para crear tu RPG


[Tienes que estar registrado y conectado para ver este vínculo]
avatar
Clark-CLK
Moderador
Moderador

Edad : 21
Mensajes : 191
Fecha de inscripción : 22/08/2011
Creditos : 98
Objetos :

Ver perfil de usuario http://ahoperpg-maker.ucoz.es

Volver arriba Ir abajo

Re: ESCUELA DE RGSS 2 (Ventanas y Variables I) by Clark-CLK

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


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