Últimos temas
» [MV] ¿Cómo mover un sprite?
por Frägarach Hoy a las 2:19 am

» Como cambio esto?...
por Shy_Cream Hoy a las 2:09 am

» El Dia Z - Demo
por EdwarPlay Ayer a las 8:08 pm

» Pokemon Destiny
por Greninja555 Ayer a las 5:46 pm

» Animación Habilidad de Enemigos RPGMAKER VX ACE
por Metatron Ayer a las 3:16 am

» [VX] Cambio de Resolución
por luistop12 Vie Sep 13, 2019 6:51 am

» ¿Como Mover al jugador mientras hay una conversación?
por Zachy Vie Sep 13, 2019 2:05 am

» ¿Como hacer un menú/Galería de imágenes? (RPG VxAce)
por ZororoWhite Jue Sep 12, 2019 7:57 pm

» Inherited Sins [Juego Completo] [Definitive Edition]
por Nina Jue Sep 12, 2019 7:47 pm

» Zaza no konpasu (La Brújula de Zaza) [VXACE]
por Pocari Sáb Sep 07, 2019 12:28 pm

» Ayuda con el ABS
por DarkarPro0102 Sáb Sep 07, 2019 8:32 am

» Pop! Horror City Complementos
por EdwarPlay Jue Sep 05, 2019 10:59 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 : 856
Monedas : 4331
Reputación : 110
Edad : 34
Localización : Florida (pueblo fantasma), Chile

Volver arriba Ir abajo

Volver arriba

- Temas similares

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