Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

vuelta por aquí :) - Preview Script Plataformas 2D

Ver el tema anterior Ver el tema siguiente Ir abajo

vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por newold el 2014-07-14, 13:03

Hey como están, ando por aquí dispuesto a volver y con un nuevo proyecto que os presento aquí.

Se trata de un script (bueno varios / todos ;)) para crear un juego en 2d como Castlevania: Symphony of the Night con el maker.

Aún está en pañales pero os quiero mostrar como va por ahora.

De momento es todo scripting para crear todo, incluido los mapas (no se usa el editor de mapas del maker). Cuando esté listo trataré de hacerle una interfaz amigable para el usuario para que pueda crear los mapas y personajes a través de un editor visual (ahora mismo hay que scriptearlo todo).

Video preview:


Características:
- Movimiento por pixel.
- Suavizado de movimiento tanto para el mapa como para los chars
- Permite andar, correr, volar, saltar, nadar, bucear, agacharse, andar agachado, atacar, cubrirse.
- Permite usar diferentes piezas de equipo para equipar a un personaje.
- Permite subir y bajar cuestas.
- Permite escaleras.
- Permite diferentes tipos de suelo.
- Permite doble, triple o más saltos.
- Permite diferentes animaciones según lo que esté haciendo el char.
- Permite plataformas movibles.
- Permite zonas que se puedan atravesar saltando desde abajo (saltar hacia arriba).
- Permite zonas que se puedan atravesar pulsando abajo + salto (saltar hacia abajo)
- Permite enemigos obstáculos (no se pueden traspasar, se puede saltar encima de ellos).
- Personajes / enemigos pueden cambiar estadísticas (subir nivel).
- Los mapas están compuestos por una imagen principal que sería el escenario mismo y
una imagen que representa los obstáculos del mapa (suelos, techos,agua...) a través de colores
que han sido designados en el apartado de configuración. A parte puede llevar otras imágenes que podrán aparecer detrás o delante de la imagen principal (primer plano). También puede llevar varios panoramas que pueden moverse solos o moverse cuando lo hace el personaje.

Estado del script: alpha (muy alpha :D)

Acepto criticas y gente interesada en ayudar con gráficos (adaptar los rips que hay del Symphony of the Night aquí) y/o scripts (pedir más información vía privado)


Última edición por newold el 2014-07-14, 15:39, editado 2 veces
avatar
newold
Principiante
Principiante

0/3

Créditos 1276

Gracias : 137

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Wecoc el 2014-07-14, 13:36

No me deja ver el vídeo, dice que es privado... pero por todo lo que dices ya me lo medio-imagino y es increíble todo lo que has logrado :O Nota: Soy muy fan de SOTN desde simpre xDD

Un placer tenerte de nuevo por aquí, tus scripts siempre fueron los mejores del foro ;D
avatar
Wecoc
Administrador
Administrador



Créditos 12308

Gracias : 653

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por newold el 2014-07-14, 13:53

he cambiado el estado a oculto del video a ver si aparece, si se sigue sin ver dimelo para que lo cambie a publico
avatar
newold
Principiante
Principiante

0/3

Créditos 1276

Gracias : 137

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Wecoc el 2014-07-14, 13:59

Ahora ya se ve y confirma lo dicho. Hasta el momento había visto varios sistemas de plataformas para RPG maker pero no me convencían, éste se ve espectacular.

Esperaré novedades sobre el tema ;D
avatar
Wecoc
Administrador
Administrador



Créditos 12308

Gracias : 653

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Ledai el 2014-07-14, 15:05

OHH!!! Me enamoró el sistema *.*
¿Cuanto, cuanto le queda? XDD

En realidad, se ve un trabajo estupendo, me agrada mucho la idea, lo que menos me agrada es que todo sea mediante Script, eso es un gran impedimento para algunas personas, así que se agradecerá muuuucho una interfaz amigable para poder usarlo, y un SUPER Manual de uso ^_^

MUCHAS gracias por semejante trabajo, lo seguiré de cerca.

¡Por favor, continuarlo porque se ve Muy logrado y con mucho empeño, sin duda un buen proyecto!
GRACIAS por traer noticias de ello.
avatar
Ledai
Aventurero
Aventurero

0/3

Créditos 5217

Gracias : 217

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Bleuw el 2014-07-14, 15:31

Si en algún momento el script llega a ser de uso público me lo voy a guardar sin duda. Más allá de que no use XP. Pero parece que será un "obligatorio" de tener en la biblioteca.
Se ve totalmente genial.

Espero haya más avances pronto. Saludos.
avatar
Bleuw
Aventurero
Aventurero

0/3

Créditos 2033

Gracias : 114

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Usuario Oculto el 2014-07-14, 17:31

Brillante trabajo, ahora sI creo que en RPG MAKER se puede hacer un Plataformas respetable con el jugador y con el creador. Si en algUn momento se libera el script, serA todo un placer estudiarlo y aplicarlo. Gracias.
avatar
Usuario Oculto
Soñador
Soñador

0/3

Créditos 630

Gracias : 14

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Gatchan el 2014-07-14, 18:31


Uff, el regreso de Newold...¡¡Casi nada!!

Se ve estupendo, la verdad.
y como creador de un juego plataformero en rpg maker, (ggjff)
te imploro que sigas adelante con ese sistema...Please.

¡Un saludo!
avatar
Gatchan
Iniciado
Iniciado

0/3

Créditos 67

Gracias : 6

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por comgerde05 el 2014-07-14, 22:53

Madre de mi madre(?)

Se ve increible, como dijo Bleuw, si este script queda liberado es más que una obligación guardarlo en nuestras bibliotecas aun si no usamos el RPGMXP.

Sigue adelante compañero, vamos tú puedes.
avatar
comgerde05
Principiante
Principiante

0/3

Créditos 650

Gracias : 32

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Calayax el 2014-07-15, 00:04

D: los dioses del maker me han escuchado!
ahora sólo me falta que neorice tire un tutorial para aprender a hacer pixel art o---o <3333333

Pues, animo, apoyo moral, fuerza, te mando mi cosmos, ki, chi, chacra, ra, etc

Se nota que como proyecto es grande y de lograr llegar a término será un gran aporte a toda la comunidad makera.

Saludos!
avatar
Calayax
Principiante
Principiante

0/3

Créditos 681

Gracias : 42

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Frozenfire47 el 2014-07-15, 23:16

Es genial :O Justo lo que quería para las batallas de mi juego ^^ (ahora debo aprender a hacer fondos xD).
Sólo tengo una duda, será para que todo el juego sea así o se puede ir alternando con partes de eso y partes de lo que uno hace por defecto con el maker?
avatar
Frozenfire47
Novato
Novato

0/3

Créditos 61

Gracias : 12

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por orochii el 2014-07-16, 19:39

Está estúpidamente genial Newold. Me gusta que aún con la cantidad de cosas que hace, no sufra de absolutamente nada de lag.

El bitmap de colisiones/tipos de suelo, ¿lo carga al iniciar, supongo? Y lo transformará a algo más, porque no me imagino eso con get_pixel xD. ¿O sí es get_pixel? O.o

Luego el movimiento, está muy fluído, pero algo raro veo en la gravedad, no sé, como que cae un poco lento, o no acelera mucho, no sé... O hay momentos donde parece desacelerarse de golpe.

La aceleración de la cámara está genial, lo único es que se reduce bastante el área de visión al frente, si pudiese incrementarse eso sería genial, para saber qué hay delante.

Y pues sí, básicamente eso es lo que puedo comentar. Esto lo veo yo hecho en Game Maker xD, pero verlo en el maker is duckin awsum xD!!.

Mis congratulaciones. Y ojala siga el proyecto.
avatar
orochii
Reportero

0/3

Créditos 7805

Gracias : 468

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por newold el 2014-07-17, 17:54

Respondo a algunos:

Para Frozenfire47
El editor del maker no se va a usar para nada. El sistema usa toda una colección de scripts nuevos y datos nuevos (base de datos nueva). Además aunque se vea que uso el rpg maker xp para editar los scripts, en realidad se está usando la versión de ruby del ACE. El editor para manejar todos estos scripts nuevos y base de datos tendré que crearlo a parte para que los que no sepan de scritps puedan crear juegos fáciles de forma visual con este nuevo sistema, hay mucho curro por delante ;)

Para orochii
Los mapas cargan todas las imágenes que lo forman al inicio, incluida la imagen que contiene dibujados los diferentes tipos de suelos y paredes. A parte crea una tabla del tamaño de la imagen que forma el suelo. Cada vez que se mueve un personaje, antes de moverse comprueba que se pueda mover a esas nuevas coordenadas, primero mira en la tabla a ver si las coordenadas están ya puestas y si no comprueba con get_pixel y va rellenando la tabla. La tabla se queda guardada mientras dure el juego encendido. también no se comprueba todos los pixels que forman la imagen del char, sino una parte que se corresponde con lo que el char haga, por ejemplo si se mueve a la izquierda el script toma de referencia el rect defino al personaje que esté mas a la izquierda y comprobaría los pixeles que van de rect.y a rect.height con x=0, y así para cada cosa

Por otra parte los scrolls de mapa y char así como la gravedad son modificables mediante unas variables pero de todas formas sigo trabajando en el mecanismo :). El motor trata de mantener siempre al char en medio de la pantalla, pero depende de la velocidad de éste y la velocidad de scroll del mapa puede verse en ocasiones más o menos lejos del medio. También se podría ajustar esa parte del script para que el char trate de verse más a la izquierda o a la derecha pero de momento lo dejo así

---------------------------------------------------------

Los gráficos para los chars, enemigos y armas ahora son gráficos únicos, una imagen diferente por cada frame de la animación, y cada imagen debe llevar un número al final que indica que cuadro de animación es, por ejemplo, aquí el char de alucard para levantarse usa 3 imágenes que se llaman Alucard_standUp0, Alucard_standUp1 y Alucard_standUp2. Además para cada char / enemigo / armas lleva definido 1 o más rectángulos que definen el area que puede ser tocado de éste (Dejo una imagen de ejemplo, el cuadro rosa sería la imagen real y los cuadros naranja y verde son los cuadros de acción para esta imagen).


También estás imágenes están todas mirando a la derecha y ya el script se encarga de hacerles un mirror si se mira a la izquierda, así que para cada animación solo se necesita un gráfico mirando a la derecha. hay que tener en cuenta que para un mismo char habría que usar un mismo tamaño de imagen, por ejemplo 160x160 y que cada frame de animación cupiera en esa imagen y estuvieran todos cuadrados en una misma posición de la imagen de 160x160 para que se vea bien la animación en el juego (dejo un link con los gráficos de alucard levantándose donde podeis ver que son 3 imágenes del mismo tamaño y las imágenes están colocadas de forma alineadas << Link al archivo >>) (esto ya no hace falta, las imágenes se alinean con el editor)

Los gráficos para los mapas son imágenes individuales también que pueden ser creadas con cualquier programa para dibujar. una imagen define escenario, éste toma el tamaño de esa imagen. Otra imagen define los suelos y paredes. y luego puede usar o no otras imágenes para añadir planos al escenario (primer plano, plano de fondo...)

Dejo un nuevo video preview, aquí muestro un poco como juego con la gravedad y los scrolls, y como ya está implementado también las zonas del mapa que se pueden atravesar saltando y saltando hacia abajo (en el video el char salta sobre un suelo rojo y naranja en el principio del video, el suelo rojo se puede traspasar saltando hacia arriba y hacia abajo y el naranja solo hacia arriba. Cuando la gravedad es negativa, el char sube y además rota hasta ponerse boca abajo. También se escucha como un portazo, es una ventana que se cierra y abre aunque no se ve la animación en el video, y el sonido es más bajo conforme mas lejos estés de la ventana. (notar que he cambiado el char de alucard a uno de tamño original al juego de psx, así no tengo que estar modificando los rips que ya hay y puedo usar éstos con el tamaño que han sido ripeados)



Última edición por newold el 2014-08-18, 15:53, editado 1 vez
avatar
newold
Principiante
Principiante

0/3

Créditos 1276

Gracias : 137

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por newold el 2014-08-06, 14:38

me auto upeo para informaros del progreso actual:

Estoy creando un editor para que podáis crear chars, mapas y más de forma visual. Los chars son similares a los usados en mugen, de hecho, podréis importar directamente personajes mugen al juego  Very Happy

Cada char llevará una lista de animaciones (algunas requeridas como estar parado, agacharse, moverse, saltar..). Los ataques se compondrán de una o dos animaciones (normalmente una para el char y otra para el arma usada). Las cajas de colisiones de cada char vienen determinadas por rects (hasta diez por cada imagen) y los rects se dividen en 2 tipos, los de colisión y los de ataques y se crean en el editor de animaciones en el editor (al importar chars de mugen se importan las imágenes con los datos de posición de esta y los rects (llamados Clsn en mugen))

En el editor también se podrán crear mapas y añadir eventos que se activan al tocarlos y ejecutan una serie de comandos como los eventos del maker (esta parte va llevar su tiempo para crearla, tengo que crear un editor de eventos desde 0 un script Interpreter desde 0 que interprete esos comandos) Aprobecho para pedir que me digáis que comandos vía editor os gustaría que llevara el editor de eventos (tengo pensado poner muchos de los que trae el maker, como poner texto, cambiar variables, ciclos etc..) Poner vuestras sugerencias.

Aquí una preview del editor (éste se ajusta al tamaño de la pantalla y precisa de una resolución mínima de 1024x768 para funcionar)





avatar
newold
Principiante
Principiante

0/3

Créditos 1276

Gracias : 137

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por newold el 2014-08-18, 15:49

Nuevo update: Progreso del editor


En el video muestro un poco como crear chars para este nuevo sistema o como importar los chars de mugen.

En la parte del vídeo donde se ve como cambio el tamaño de los rects con el ratón, mientras que éste no está rotado funciona perfecto pero al tener éstos rotación ya no dibuja bien los rects (ubicación/tamaño erróneos con respecto al ratón), precisaría ayuda con esto porque por más que le doy vueltas no consigo arreglar el código para cuando los rects están rotados (de todas formas es mejor usar rects sin rotar para que a la hora de comprobar colisiones no pasen cosas extrañas ).

Estado del editor: 10% (solo está la primera pestaña hecha y aún le faltan botones para terminar de añadir los datos al char)
(El editor está hecho en rgss3 y usando algunos formularios de vb6, me gustaría que fuera hecho entero en c pero no tengo conocimientos suficientes ;) y de todas formas todo funciona más o menos fluido como veis en el video)
Estado del script plataformero: 1%
Ayuda requerida: Como cambiar tamaño a sprites rotados con ratón sin que pase los fallos que se ven el video (trigonometría inside)
Ayuda requirida:Me gustaría tener una pantalla de título cool para el editor, alguien se anima?
Betatester:Buscar los bugs del editor para solucionarlos
Ayuda opcional:Scripters e ideas son bienvenid@s

¿Qué os parece el editor? ¿lo veis cómodo? ¿Qué otra cosa añadiríais al char para editar vía script? (lo que ya tiene implementado pero no está puesto en la preview del vídeo son los parámetros (hp, mp, str, dex, agi, int, luck, exp) , equipo del char (rightRing, leftRing, rightEarring, leftEarring, neckace, talisman1, talisman2, talisman3, head, shoulder, shirt, gloves, belt, boots, pants, cloack, mainHand, offHand, fixedEquip), cantidad de saltos, velocidad de aceleración X, velocidad X, velocidad de aceleración Y, velocidad Y, velocidad de desaceleración y notas, y en la parte de animación falta añadir al editor un selector de sonido que se reproduce en algún frame específico, por ejemplo al anda, que se produzca el sonido de pasos en el frame 2.)
avatar
newold
Principiante
Principiante

0/3

Créditos 1276

Gracias : 137

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Wecoc el 2014-08-18, 17:59

Es increíble lo fluído que se ve el editor también, ni pizca de lag al transformar el rectángulo ni en ningún momento o_O"

Lo que me preguntaba es sobre la configuración añadida en un futuro, una vez todo listo. Quería saber si sería muy difícil o no hacer uno mismo scripts a parte para el sistema tal y como se hace en cualquier maker, porque partiendo de un editor fijado al sistema, quizá añadir o incluso quitar alguno de los parámetros que has dicho, o slots de equipo, etc. se vuelva una tarea complicada. Y no digamos ya añadir cosas más complejas como una nueva capa de fondo en los mapas, o un nuevo set de animaciones a los sprites o en definitiva cualquier cosa que el desarrollador pueda necesitar y que el sistema no lo tenga.

Y también, solo es un detalle pero quería preguntarte sobre la función de lo que llamas "notas". Me imagino que te refieres a algo parecido a las notas de ciertas cosas en la base de datos de Ace pero no sé si tendrían alguna función más a parte de la de una nota o no (como los típicos scripts que usan las notas para cargar nuevas propiedades), y tampoco entendí qué es lo que tiene notas si el sprite, el char, el mapa...

Y una última duda, ya que estamos xD He visto el símil entre el script de base que usaste para la base de datos de XP personalizada y éste, esos pop-ups, sub-ventanas y esas cosas propias de un programa de windows... Recuerdo que iba medio con rb a parte, y medio con scripts en el maker directamente (todo un trabajazo). Lo que me preguntaba era sobre la disponibilidad y licencia de eso, fuera de éste sistema en sí. Personalmente no creo que vaya a usarlo, pero ¿si alguien quisiera hacer algo parecido a un editor como éstos, podría usar eso de base? (no me mates por la pregunta xD)

Repito, éste trabajo es increíble. Top notch.
avatar
Wecoc
Administrador
Administrador



Créditos 12308

Gracias : 653

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por newold el 2014-08-18, 19:43

Sobre addons, añadir script y quitar cosas ya hechas, esto es igual que con los scripts default del maker, modificando los que yo haga o añadiendo funciones nuevas vía otros scripts. El editor lo voy a dejar sin encriptar, todo código abierto, por lo que se podrá modificar, quitar, añadir funciones, botones nuevos, etc.

Lo de los mapas no hay que preocuparse, con el editor puedes añadir las capas que necesites a tu mapa, cada una con scroll individual como los planos de rpg maker o con movimiento solo si se mueve el personaje, ésto último para simular profundidades dentro del escenario, por ejemplo una capa en primer plano se moverá más rápido que una que esté al fondo (cada capa son imágenes individuales). y lo de añadir un nuevo set de animaciones no se a que te refieres. Cada char/enemigo lleva sus propias animaciones formadas por imágenes individuales, y puedes definir 9999 animaciones cada una con 9999 frames, con eso hay más que suficiente, aunque se puede cambiar para que soporte más cambiando un par de números ;). también cada char/enemigo tendrá que tener definidos un mínimo de gráficos para que sea jugable (animación parado, moviéndose, agachado, saltar... una pocas). El resto de animaciones que le crees pueden ser usadas para mostrar ataques según que arma equipes u otra cosa. Voy a añadir un par de cosas extras a las animaciones en el editor, la primera es enlazar animación, con esto enlazas una animación a otra y cuando se reproduce la primera se reproducirá después la enlazada (con esto puedes encadenar varios ataques por ejemplo), la segunda es fusionar animación, con eso haces que se muestren dos animaciones a la vez, útil por ejemplo para que una animación muestre al char atacando y la otra muestre el arma

Te pongo aquí el módulo que estoy usando (aún no definitivo, en construcción) que maneja todos los datos, escenarios, personajes, enemigos, etc... para que le eches un vistazo

Código:
# ==============================================================================
module DATA
 
 
  # ****************************************************************************
  # CHAR
  # ****************************************************************************
  class Char

    # ··········································································
    attr_accessor :id,  :name,    :minLevel,  :maxLevel,    :classID,  :notes,
                  :acc, :maxAcc,  :src,      :parameters,  :equip,
                  :jumpSpeed,    :jumpCount, :imageList,  :animation
    # ··········································································
    def initialize
      @id = 0 # ID del char.
      @name = '' # Nombre del char.
      @minLevel = 1 # Nivel mínimo del char.
      @maxLevel = 99 # Nivel máximo del char.
      @classID = 1 # ID de la clase / profesión del char.
      @acc = 0.25 # Aceleración para moverse del char (velocidad X).
      @maxAcc = 6 # Aceleración máxima del char (velocidad máxima X).
      @jumpSpeed = 12.2 # Aceleración para moverse del char (velocidad Y / salto).
      @jumpCount = 1 # Cantidad máxima de saltos para el char.
      @src = Src.new # Gráficos / Animaciones para el char.
      # Parámetros del char (hp, mp, str, dex, agi, int, luck, exp)
      @parameters = Parameters.new(@minLevel,@maxLevel)
      # Equipo del char
      @equip = Equip.new
      # Notas adicionales para el char
      # (por si se quieren usar para algo para algún que otro script).
      @notes = ''
      # variable usada por el editor para controlar una serie de imágenes
      @imageList = []
      # variable usada para almacenar la lista de animaciones del char
      @animation = []
    end
    # --------------------------------------------------------------------------
    def inspect
      text = ''
      self.instance_variables.each{|v|
        t = "#{v} = "
        n = eval ("#{v}.inspect")
        t << "#{n}, "
        text << t
      }
      text << "\n\n"
      return text
    end
    # --------------------------------------------------------------------------

  end
  # ****************************************************************************
 
 
  # ****************************************************************************
  # Char::Parameters
  # ****************************************************************************
  class Char::Parameters
     
    # ··········································································
    attr_reader :hp, :mp, :str, :dex, :agi, :int, :luck, :exp
    # ··········································································
    def initialize(minlevel=1,maxLevel=99,exp_inflation = 30,exp_basis=30)
     
      @hp = [];  @mp = [];  @str = [];  @dex = [];
      @agi = [];  @int = [];  @luck = []; @exp = [];
     
      @exp[1] = 0
      pow_i = 2.4 + exp_inflation / 100.0
     
      for i in minlevel..maxLevel
        @hp[i] = 60+i*15
        @mp[i] = 30+i*7
        @str[i] = 1 + (i * 1.25).to_i
        @dex[i] = 1 + (i * 1.25).to_i
        @agi[i] = 1 + (i * 1.25).to_i
        @int[i] = 1 + (i * 1.25).to_i
        @luck[i] = 0 + (i * 1.12).to_i
        i2 = i + 1
        if i2 > maxLevel
          @exp[i2] = 0
        else
          n = exp_basis * ((i2 + 3) ** pow_i) / (5 ** pow_i)
          @exp[i2] = @exp[i] + Integer(n)
        end
      end
    end
    # --------------------------------------------------------------------------
    def inspect
      text = ''
      self.instance_variables.each{|v|
        t = "#{v} = "
        n = eval ("#{v}.inspect")
        t << "#{n}, "
        text << t
      }
      text << "\n\n"
      return text
    end
    # ··········································································
   
  end
  # ****************************************************************************
 
  # ****************************************************************************
  # Char::Src
  # ****************************************************************************
  class Char::Src
     
    # ··········································································
    attr_accessor :idle,          :walkBack,      :walk,      :run,
                  :crouching,    :movingCrouch,  :fall,      :standUp,
                  :standUp2,      :neutralJump,  :movingJump, :doubleJump,
                  :standAttack,  :crouchAttack,  :airAttack,  :standToCrouch,
                  :crouchToStand, :jumpLanding,  :startJump,  :movingJumpBack
    attr_reader  :extraIdle
    # ··········································································
    def initialize
      # Gráfico estándar del char.
      # Éste se reproduce cuando no se está ejecutando ninguna otra acción
      # o cuando no se ha definido un gráfico especifico para alguna accion.
      @idle = -1
      # Esta variable contiene gráficos extra para cuando se esta parado
      # que se reproducen aleatoriamente tras x tiempo parado.
      # Cuando la animación extra llega al último frame se devuelve a
      # la animación de parado / estándar. ** OPCIONAL **
      @extraIdle = []
      # Gráfico para cuando el char está caminando.
      @walk = -1
      # Gráfico para cuando el char camina hacia
      # atrás con dirección fija. ** OPCIONAL **
      @walkBack = -1
      # Gráfico para cuando el char está corriendo.
      @run = -1
      # Gráfico para cuando el char empieza a agacharse. ** OPCIONAL **
      @standToCrouch = -1
      # Gráfico para cuando el char está agachado.
      @crouching = -1
      # Gráfico para cuando el char anda agachado. ** OPCIONAL **
      @movingCrouch = -1
      # Gráfico para cuando el char se levanta (I).
      # (desde posición agachado o al finalizar una caida leve). ** OPCIONAL **
      @crouchToStand = -1
      # Gráfico para cuando el char se levanta (II).
      # (al finalizar una caida moderada/ alta). ** OPCIONAL **
      # (si no se define se usará @crouchToStand si está definida o ninguna)
      @jumpLanding = -1
      # Gráfico que se muestra justo antes de saltar. ** OPCIONAL **
      @startJump = -1
      # Gráfico para cuando el char hace un salto sin moverse.
      @neutralJump = -1
      # Gráfico para cuando el char hace un salto moviéndose.
      @movingJump = -1
      # Gráfico para cuando salta hacia atrás con dirección fija ** OPCIONAL **
      @movingJumpBack = -1
      # Gráfico para cuando el char hace un doble (o más).
      @doubleJump = -1
      # Gráfico para cuando el char está cayendo.
      @fall = -1
      # Gráfico para cuando el char ataca estando de pie
      @standAttack = -1
      # Gráfico para cuando el char ataca estando agachado
      @crouchAttack = -1
      # Gráfico para cuando el char ataca estando en el aire
      @airAttack = -1
    end
    # --------------------------------------------------------------------------
    def inspect
      text = ''
      self.instance_variables.each{|v|
        t = "#{v} = "
        n = eval ("#{v}.inspect")
        t << "#{n}, "
        text << t
      }
      text << "\n\n"
      return text
    end
    # ··········································································
     
  end
  # ****************************************************************************
 
 
  # ****************************************************************************
  # Char::Animation
  # ****************************************************************************
  class Char::Animation
       
    # ··········································································
    attr_accessor :name, :id
    attr_reader  :frame
    # ··········································································
    def initialize
      @id = 0 # ID de la animación
      @name = '' # Nombre de la animación
      # Frames de la animación
      # (cada frame contiene un Char::Animation::Frame)
      @frame = []
    end
    # --------------------------------------------------------------------------
    def inspect
      text = ''
      self.instance_variables.each{|v|
        t = "#{v} = "
        n = eval ("#{v}.inspect")
        t << "#{n}, "
        text << t
      }
      text << "\n\n"
      return text
    end
    # ··········································································
  end
  # ****************************************************************************
 
 
  # ****************************************************************************
  # Char::Animation:Frame
  # ****************************************************************************
  class Char::Animation::Frame
    # ··········································································
    attr_accessor :name, :time, :flip, :hue, :startLoop, :sound,
                  :stretch, :wait, :group_id, :id, :x, :y, :opacity, :angle
                  :transparentColor
    attr_reader  :rects
    # ··········································································
    def initialize
      @name = '' # Nombre de la imagen
      @id = -1 # Posición de la imagen en el grupo seleccionado (usado por editor)
      @group_id = -1 # grupo seleccionado (usado por el editor)
      @x = 0 # Posición x de la imagen respecto al punto de vista
      @y = 0 # Posición y de la imagen respecto al punto de vista
      @time = 2 # Frames para mostrar el siguiente cuadro de animación
      @hue = 0 # Matiz para la animación (0-255)
      @opacity = 255 # Opacidad del gráfico (0-255 transparente-opaco)
      @angle = 0 # Ángulo mostrado del sprite
      @flip = false # Invertir imagen
      @startLoop = false # indica que la animación se repite desde este frame
      @stretch = false # Indica si la imagen debe adaptarse al frame padre
      # Esta variable indica si hay que esperar a que acabe el tiempo de
      # espera de este frame para que el jugador pueda volver a controlar al char
      @wait = false
      # Los chars importados desde un char mugen usan este color para designar
      # un área transparente
      @transparentColor = nil
      @sound = '' # Sonido que se reproduce al iniciar este frame
      # Rectángulo que delimita la imágen para comprobar colisiones
      # (Consta de un cuadro principal (parent) y uno o más cuadros
      # secundarios (child). El cuadro principal se comprueba siempre
      # primero para ver si existe colisión de ese cuadro con el escenario
      # u objetos y, en caso afirmativo, se comprueban los cuadros
      # secundarios para ver si ha habido una colisión real)
      @rects = []
    end
    # ··········································································
    def inspect
      text = ''
      self.instance_variables.each{|v|
        t = "#{v} = "
        n = eval ("#{v}.inspect")
        t << "#{n}, "
        text << t
      }
      text << "\n\n"
      return text
    end
    # ··········································································
  end
  # ****************************************************************************
 
 
  # ****************************************************************************
  # Char::Equip
  # ****************************************************************************
  class Char::Equip
     
    # ··········································································
    attr_accessor :rightRing, :leftRing,    :rightEarring,  :leftEarring,
                  :neckace,  :talisman1,  :talisman2,      :talisman3,
                  :head,      :shoulder,    :shirt,          :gloves,
                  :belt,      :boots,      :pants,          :cloack,
                  :mainHand,  :offHand,    :fixedEquip
    # ··········································································
    def initialize
      # Partes del equipo (los nombres de las variables en inglés indican
      # que tipo de quipo es cada cosa).
      @rightRing  = @leftRing  = @rightEarring  = @leftEarring  =
      @neckace    = @talisman1  = @talisman2      = @talisman3    =
      @head      = @shoulder  = @shirt          = @gloves      =
      @belt      = @boots      = @pants          = @cloack      =
      @mainHand  = @offHand    = 0
      # Variable usada para comprobar si una pieza equipada se puede
      # quitar / cambiar o no (true si no se puede quitar, false lo contrario).
      @fixedEquip = {
        :rightRing    => false,
        :leftRing    => false,
        :rightEarring => false,
        :leftEarring  => false,
        :neckace      => false,
        :talisman1    => false,
        :talisman2    => false,
        :talisman3    => false,
        :head        => false,
        :shoulder    => false,
        :shirt        => false,
        :gloves      => false,
        :belt        => false,
        :boots        => false,
        :pants        => false,
        :cloack      => false,
        :mainHand    => false,
        :offHand      => false
      }
    end
    # --------------------------------------------------------------------------
    def inspect
      text = ''
      self.instance_variables.each{|v|
        t = "#{v} = "
        n = eval ("#{v}.inspect")
        t << "#{n}, "
        text << t
      }
      text << "\n\n"
      return text
    end
    # ··········································································
   
  end
  # ****************************************************************************
 
end
# ==============================================================================




ahí para acceder por ejemplo al nombre de un char creado con id 2, sería algo así como $data_char[2].name


Las notas son eso que dices, notas, comentarios,que podrán ser usadas por otros scripts como ya lo hacen algunos scripts como el xas de vx y ace. Todo en la base de datos llevará sus notas, cada char, cada mapa, etc...

y por último los scripts para el formulario son libres de uso, aunque los tengo sin documentar, tiene algunos bugs, y constantemente lo voy actualizando según lo necesite para una cosa u otra. te dejo aquí los scripts de formulario que usé en el editor de rpg maker que estuve haciendo New Editor RPGMAKER XP - source. Las modificaciones que he hecho con el editor éste nuevo que estoy haciendo no están implementadas (por ejemplo lo que se ve en el video, el editor a pantalla completa, con botones de cerrar y minimizar custom (al usar el botón cerrar se pide confirmación para guardar el proyecto abierto), además en la nueva versión he conseguido deshabilitar todas las combinaciones de teclas que jodían el editor, alt+enter, todos los F, desabilitado la función reset(f12) y algunas partes del formulario tienen pequeños fixes que no lleva el código que tiene el new editor, y algo interesante que no lleva el new editor pero si el de plataformas es que ahora puedo crear cualquier variable en el form padre, por ejemplo un botón (@miBoton = ButtonImage.new(x,y,10,9)), y puedo acceder a él con $form.miBoton ) ah, y otra cosa el editor viejo creo k está en RGSS1, y el nuevo ya está con RGSS3, (Los juegos creados con el editor usarán RGSS3)
avatar
newold
Principiante
Principiante

0/3

Créditos 1276

Gracias : 137

Volver arriba Ir abajo

no se man

Mensaje por Tevor_nii-chan el 2014-10-16, 19:21

a mi me encanto ...muy buen trabajo...todos los detalles preocupados...y bien elavorados....espero q lo termins....y que puedas conpartirlo con los nob
avatar
Tevor_nii-chan
Iniciado
Iniciado

0/3

Créditos 2

Gracias : 2

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por gerrtunk el 2014-10-21, 19:59

Interesante script sin duda aunque a mi no me interese. La lastima es que hayas hecho ese editor usando el rpgmaker en si como base y no una libraria mas eficiente, aunque usaras rubygtk o con cualquier otra combinacion, porque se ve muy lento entre otras cosas. Pero si lo has hecho por reto o qualquier otra cosa entonces no hay problema.
avatar
gerrtunk
Principiante
Principiante

0/3

Créditos 361

Gracias : 22

Volver arriba Ir abajo

Re: vuelta por aquí :) - Preview Script Plataformas 2D

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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