Últimos temas
» Pack of Tilesets
por Axel Hoy a las 5:33 am

» [Multimaker]Colección de Battlers de Japo (4)
por JapoZero Hoy a las 2:57 am

» LA BRÚJULA DE ZAZA [VXACE]
por Dagenso Ayer a las 6:40 pm

» Concurso de relatos Diciembre 2019/Enero 2020 [Resultados]
por DorFenn Ayer a las 2:30 pm

» [MV]Colección de Windowskins de Japo (5)
por Iskachu 2000 Ayer a las 6:45 am

» Ayuda con importar imagenes en MV
por Axel Ayer a las 2:44 am

» Sento no Uchu
por Dagenso Dom Ene 19, 2020 6:34 pm

» Clarividence
por adamsteiner Sáb Ene 18, 2020 5:51 am

» (Nuevo Taller) "Herreria de Scripts"
por Iskachu 2000 Sáb Ene 18, 2020 12:53 am

» Tienda De Música
por Iskachu 2000 Sáb Ene 18, 2020 12:14 am

» Engines
por Iskachu 2000 Vie Ene 17, 2020 11:12 pm

» Tienda/taller de Parallax Maps de Shad
por Iskachu 2000 Vie Ene 17, 2020 11:01 pm


[VX] Desplazamiento descripción texto

Ir abajo

[VX] Desplazamiento descripción texto Empty [VX] Desplazamiento descripción texto

Mensaje por KRiZaLiD el Jue Mar 28, 2019 11:14 pm

Generalmente cuando tenemos una descripción de una habilidad o un objeto muy largos, el tamaño de la letra disminuye o incluso no se alcanza a leer completamente. Este script soluciona esto.

Nombre del ScriptScroll Description Text
Autor: BigEd781 
Descripción: Ahora pueden usar todo el espacio que el editor da para las habilidades y los objetos. En la práctica, en la ventana de Ayuda, si el texto es demasiado largo, comenzará a desplazarse. Esta opción se puede desactivar.

Código:
#------------------------ Scroll Description Text -------------------------
#------------------------------ By BigEd781 -------------------------------
#                          www.rpgrevolution.com
#

class Sprite

  def draw_icon(icon_index, x, y, enabled = true)
    bitmap = Cache.system("Iconset")
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128)
  end

end

class Window_Help < Window_Base

  @@SCROLL_DELAY = 2     # seconds
  @@SCROLL_SPEED = 1     # pixels / frame (60 frames / sec)
  @@SHOW_ICONS   = false  # display icons for items and skills?

  alias :scroll_init :initialize
  def initialize(*args)
    scroll_init(*args)
    @internal_frame_count = 0
    @text_is_long = false
    @icon_sprite = Sprite.new
    @icon_sprite.x = self.x + 16
    @icon_sprite.y = self.y + 16
    @icon_sprite.z = self.z + 1
    @icon_sprite.bitmap = Bitmap.new(32, 32)
    self.windowskin = get_altered_skin
  end

  def get_altered_skin
    default = Cache.system('Window')
    window = Bitmap.new(default.width, default.height)
    window.blt(0, 0, default, default.rect)
    window.fill_rect(80, 16, 32, 32, Color.new(0,0,0,0))
    return window
  end

  def set_text(text, align = 0)
    unless (text == @text) && (align == @align)
      @internal_frame_count = 0
      txt_width = self.contents.text_size(text).width
      @text_is_long = txt_width > (self.width - 32)  
      self.contents.dispose
      w = @text_is_long ? (txt_width + self.width - 32) : self.width - 32
      self.contents = Bitmap.new(w, self.height - 32)                
      self.contents.clear  
      self.ox = 0
      self.contents.font.color = normal_color
      i = get_icon_index(text)
      unless i.nil?
        draw_sprite(i, 0, 0)
        self.contents.draw_text(32, 0, self.contents.width, WLH, text, align)
      else
        @icon_sprite.bitmap.clear
        self.contents.draw_text(4, 0, self.contents.width, WLH, text, align)
      end
      @text = text
      @align = align
    end    
  end

  def draw_sprite(icon_index, x, y)
    @icon_sprite.bitmap.clear
    # get the background image at 'rect'
    # so that text does not appear under the icon
    bitmap = Graphics.snap_to_bitmap
    rect = Rect.new(@icon_sprite.x, @icon_sprite.x,
                    @icon_sprite.bitmap.width, @icon_sprite.bitmap.height)
    @icon_sprite.bitmap.blt(x, y, bitmap, rect)
    @icon_sprite.draw_icon(icon_index, x, y)
  end

  def get_icon_index(desc)
    return nil unless @@SHOW_ICONS
    $data_items.each do |item|
      return item.icon_index if !item.nil? && item.description == desc
    end
    $data_weapons.each do |weapon|
      return weapon.icon_index if !weapon.nil? && weapon.description == desc
    end
    $data_armors.each do |armor|
      return armor.icon_index if !armor.nil? && armor.description == desc
    end
    $data_skills.each do |skill|
      return skill.icon_index if !skill.nil? && skill.description == desc
    end
    return nil    
  end

  def update
    super
    @internal_frame_count += 1
    if ((@internal_frame_count > @@SCROLL_DELAY * 60) && @text_is_long)
      if self.ox >= (self.contents.width - self.width + 48)      
        self.ox = 0
        @internal_frame_count = 0
      else        
        self.ox += @@SCROLL_SPEED        
      end
    end
  end

  def dispose
    super
    @icon_sprite.dispose
  end

end

No olviden dar los créditos a BigEd781.
Saludos,
KriZ

_________________
Mi Proyecto:
[VX] Desplazamiento descripción texto VqJJJp

[VX] Desplazamiento descripción texto AnrEWG[VX] Desplazamiento descripción texto UqGVnKv

KRiZaLiD apoya:
[VX] Desplazamiento descripción texto 3gqmui[VX] Desplazamiento descripción texto GJ7qjn[VX] Desplazamiento descripción texto ZhwnH1[VX] Desplazamiento descripción texto NT6Pp7[VX] Desplazamiento descripción texto WXmSrO[VX] Desplazamiento descripción texto CKEALv
KRiZaLiD
KRiZaLiD
Moderador
Moderador

Masculino
Chile
RPG Maker : Vx
Mensajes : 873
Monedas : 4352
Reputación : 113
Edad : 34
Localización : Florida (pueblo fantasma), Chile

Volver arriba Ir abajo

Volver arriba


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