[RPG - Scripting] [Escuela]Base Scripting Essentials - Clase 9


Like Tree4Gracias
  • 4 Post By JessWishes
 
 
Herramientas Desplegado
  #1  
08/04/2019
Predeterminado [Escuela]Base Scripting Essentials - Clase 9

Clase 9 : Funciones Essentials



Objetivo


El objetivo de esta clase es enseñar la manera correcta de usar las funciones e instancias que han sido creadas únicamente para Essentials.

Introducción


Hasta ahora, ya hemos visto suficiente acerca de funciones, instancias, creación de textos y como mostrar gráficos en la ventana del juego, lo cual nos ha servido para crear nuestras propias interfaces. Ahora veremos como utilizar las instancias que han sido definidas para Essentials y como aplicarlas para nuestros proyectos.

9.1 Funciones para Audio


Originalmente, Rpg Maker XP, contiene una serie de instancias especializadas para la reproducción de archivos de audio. Pero al usar Essentials, hay que tener en cuenta que esas instancias han sido modificadas para mejorar y facilitar su manejo. En general se dividen los archivos de audio en cuatro categorías, BackGroundMusic(BGM), BackGroundSound(BGS), MusicEffect(ME) y SoundEffect(SE).

Essentials ha modificado de cierta manera las funciones necesarias para reproducir archivos de audio dentro de un proyecto. Actualmente existen diferentes maneras de cargar y reproducir esos archivos de audio. Para mantener la explicación breve, solo usaremos las básicas.

Imagen 01



Hay que tener en cuenta que al utilizar las funciones para llamar un BGM, el BGM predefinido del mapa podría verse modificado igualmente, para evitar esto, una vez que finalicemos nuestro script, necesitamos llamar al método autoplay del class Game_Map, el cual se encuentra guardado en la variable $game_map, para poder reproducir la música del mapa nuevamente.

Imagen 02



9.2 Funciones e Instancias para Sprites Pokémon


Para poder cargar y mostrar tanto Sprites como Iconos de los Pokémon, en Essentials se han creado Instancias especiales que dependen del class Sprite y del class Bitmap. Estas instancias cargan y clasifican los gráficos dependiendo de la información de la especie dada, como por ejemplo, si son machos o hembras, si tienen formas alternativas, si son variocolor(Shiny), etc.

Para definir y mostrar un Bitmap que contenga el gráfico de un Pokémon, se utiliza el class PokemonSprite, el cual opcionalmente requiere como argumento un Viewport al cual vincularse. Una vez iniciado este class, se usa el método setPokemonBitmap, el cual cargará y creará el bitmap adecuado según la especie dada en su argumento.

Imagen 03



Para definir y mostrar un Bitmap que contenga el gráfico del Icono de un Pokémon, se utiliza el class PokemonIconSprite, el cual requiere dos argumentos, el primero es la información de de la especie de la cual se creará su icono, el segundo argumento es un Viewport al cual se puede vincular el Sprite, este último es opcional.

Imagen 04



Ahora, aplicando lo que hemos visto en las clases anteriores acerca de ciclos e iteraciones, podemos mostrar los gráficos de todos los miembros del equipo simultáneamente.

Imagen 05



Para mostrar los iconos de los objetos, se utiliza el class ItemIconSprite, el cual es una variación del class Bitmap y el class Sprite para mostrar y manipular específicamente los iconos de los objetos definidos en el module PBItems. Al igual que las otras instancias, esta cuenta con sus propios métodos. Para mantener la explicación breve, solo veremos los importantes.

Imagen 06



9.3 Definir un “Pokémon”


En Essentials, la información de cada especie creada es definida usando el class PokeBattle_Pokemon. Al momento de compilar la información de los archivos en la carpeta PBS, los datos de las especies que se encuentra en el archivo pokemon.txt, se guarda dentro del module PBSpecies.

Para poder obtener la información de una especie y manipularla, es necesario iniciar el class PokeBattle_Pokemon en una nueva variable. Una vez ahí podemos tomar o manipular la información que se desee.

Imagen 07



El class PokeBattle_Pokemon contiene diferentes métodos que ayudan a definir y manipular la información de la especie creada.

Imagen 08



Estos son solo algunos ejemplos, de los métodos y variables que están definidas dentro del class. Existen métodos más complejos para definir y obtener la información de la especie creada, pero con algo de practica no deberían tener problemas.

9.4 Manipular Objetos del Juego


A diferencia de Rpg Maker XP, Essentials manipula los objetos disponibles para el jugador de manera distinta. Primero que nada, toda la información de los objetos es guardada en el module PBItems cada vez que el juego se compila. Para poder cargar y guardar la información de los objetos que el jugador ha obtenido y tiene en la mochila, se necesita usar el class PokemonBag, cuya información es guardada en la variable $PokemonBag.

Para añadir un nuevo objeto a la mochila del jugador, se necesita usar el método pbStoreItem que está definido en el class PokemonBag. Ya que este class ya ha sido iniciado en la variable $PokemonBag, se necesita llamar al método desde esa variable.

Para mejorar la interacción entre el juego y el jugador, Essentials contiene funciones que facilitan y personalizan la obtención de objetos.

Imagen 09



Al igual que el método pbStoreItem, el class PokemonBag contiene otros métodos útiles para
modificar y manipular la información de los objetos en la mochila.

Imagen 10



Para definir el efecto de cada objeto, Essentials utiliza el module ItemHandlers, este module guarda la información de los efectos de cada uno de los objetos dentro de Hashes, definidos en diferentes Constantes, las cuales dependen del class ItemHandlerHash.

Imagen 11



Aunque no es necesario crear una función nueva para definir el efecto de un objeto, el hacerlo de esta manera suele ser más sencillo y practico para poder ser modificado cada vez que sea necesario.

Tarea de la clase 9


Durante esta clase vimos como manipular diferentes funciones e instancias definidas para Essentials.

Con el propósito de reforzar lo aprendido, se deberá realizar los siguiente :
  • Usando la tarea de la clase anterior, añadir una o más de las funciones o instancias vistas durante esta clase.

Esta Tarea se entregará desde discord, ya sea por el canal #tareas en el servidor CreadoresEssentials o mediante un mensaje privado.
Pueden usar capturas de pantalla para mostrar el código que han creado o mediante un archivo txt. Todos los archivos deberán ser enviados juntos en un archivo .rar para poder facilitar su manejo.
Tienen como plazo límite el día Jueves 11 de Abril antes de que la siguiente clase sea publicada.



Premios

 

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 01:30.