Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP] Icon Viewer

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Icon Viewer

Mensaje por Wecoc el 2017-10-15, 14:46

Hice este script porque lo necesitaba personalmente, y bueno ya de paso pues lo publico también.
Éste script permite visualizar todos los iconos del juego para ver si quedan bien entre ellos y con la ventana, ya que según en qué juegos mirarlo solo en la carpeta no ayuda demasiado.

Código:
#==============================================================================
# ** [XP] Icon Viewer
#------------------------------------------------------------------------------
#  Permite visualizar todos los iconos del juego en una ventana
#  (para comprobar que se ven bien en el juego)
#------------------------------------------------------------------------------
#  Para usarlo llamar esto desde evento: $scene = Scene_IconViewer.new
#==============================================================================

class Window_IconViewer < Window_Selectable
  def initialize
    super(0, 0, 640, 416)
    @column_max = 10
    refresh
    self.index = 0
  end

  def item
    return @data[self.index]
  end

  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    files = Dir.glob("Graphics/Icons/*")
    for i in 0...files.size
      @data.push(files[i])
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end

  def draw_item(index)
    item = @data[index]
    x = 4 + (index % 10) * 64
    y = (index / 10) * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = Bitmap.new(item)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  end

  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item)
  end
end

class Window_Help < Window_Base
  attr_reader :text
end

class Scene_IconViewer
  def main
    @help_window = Window_Help.new
    @help_window.y = 480 - 64
    @item_window = Window_IconViewer.new
    @item_window.help_window = @help_window
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @help_window.dispose
    @item_window.dispose
  end

  def update
    @help_window.update
    @item_window.update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
  end
end

No pido créditos. Para usarlo en un evento usar la siguiente llamada de script:
$scene = Scene_IconViewer.new
avatar
Wecoc
Administrador
Administrador



Créditos 12286

Gracias : 646

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Icon Viewer

Mensaje por RiKennedy-Maker el 2017-10-15, 15:31

Otro interesante e inutil y útil aporte, +1

Con esto se me vino la idea de y dele que solo doy ideas chungas y no me pongo a trabajar darle un uso en juegos, porque este es de esos scripts que se borran al publicar el juego, o que se dejan por descuido, de crear como un sistema que solo muestre ciertos iconos, y que estos se vayan desbloqueando mediante X procedimiento, para crear un sistema de "coleccionables" o algo así

Ahora que lo pienso bien... más que una propuesta es una solicitud, me harías algo como eso en tu tiempo libre? :3
avatar
RiKennedy-Maker
Reportero

0/3

Créditos 226

Gracias : 76

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Icon Viewer

Mensaje por xXIsrael0499Xx el 2017-10-15, 16:58

Vaya, se me acaba de ocurrir algo chachi con esto, algo como modificar la Windoskin de una forma que aparezcan cuadros donde irán los iconos, y con este script creo que podre hacerlo que encaje a la perfección.

Así que bueno gracias por el aporte wecoc, tal vez lo use, si la flojera no me mata.
avatar
xXIsrael0499Xx
Veterano
Veterano

0/3

Créditos 2047

Gracias : 113

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Icon Viewer

Mensaje por Wecoc el 2017-10-15, 19:58

RiKennedy-Maker: La gracia del script es que carga todos los iconos de la carpeta de modo ordenado, independientemente de su uso en el juego. Lo que tú pides sería mejor hacerlo definiendo los logros como Objetos en la Base de Datos, y luego haciendo una modificación de Window_Item y Scene_Item para mostrar solo los que corresponden a logros (y cambiar algo la apariencia si hace falta, tal como se hizo aquí). También habría que cambiar Window_Item original para que no incuyera esos logros en la escena de Objetos normal, y creo que también la de Window_ShopSell para que no se incluyan en la lista de objetos para vender.

Muchos scripts usan ese principio, por ejemplo los de sistemas de misiones, sistemas de cartas o parecidos... También se puede hacer con sistemas de Scene_Item por categorías, ahí añades la categoría "Logros" para que se muestren aparte. En resumen, tienes alternativas mucho mejores que usar este script.

Israel: En vez de hacerlo en el gráfico de la windowskin puedes añadir el recuadro fácilmente en el propio script, de modo mucho más limpio.
Se hace igual que lo harías con cualquier otra ventana; usando un fill_rect antes de dibujar el icono en sí.

Si quieres probarlo busca ésta línea:
[line]self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))[/line]

Y justo antes pon esta otra:
[line]self.contents.fill_rect(x - 3, y + 1, 30, 30, Color.new(0, 0, 0, 64))[/line]
avatar
Wecoc
Administrador
Administrador



Créditos 12286

Gracias : 646

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Icon Viewer

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.