Últimos temas
» Pack 300 Charas: Game Character Hub Second Story (VX ACE)
por TRaFuGa Lun Dic 09, 2019 9:50 am

» LA BRÚJULA DE ZAZA [VXACE]
por Pocari Dom Dic 08, 2019 9:01 pm

» Ayuda, ¿Como hago que la imagen del fondo del menú cambie en un determinado momento?
por Norikime Vie Dic 06, 2019 9:25 am

» [MV] Story: Sombras en llamas 0.2.5
por Vesper Mar Dic 03, 2019 6:05 pm

» [Plugin MV] Curar al subir nivel
por Edwin Mar Dic 03, 2019 5:45 pm

» Dudas básicas: Crear habitaciones y añadir elementos...
por TRaFuGa Mar Dic 03, 2019 10:55 am

» [Publicidad] Story Sombras en llamas [beta]
por Muzgar Mar Dic 03, 2019 1:25 am

» KPocket VX
por kyonides Lun Dic 02, 2019 4:43 am

» KPocket XP
por kyonides Lun Dic 02, 2019 4:40 am

» Pokemon Destiny
por Greninja555 Dom Dic 01, 2019 10:09 pm

» KSkillTypes XP
por kyonides Jue Nov 28, 2019 11:50 pm

» Ayuda, ¿Como hacer un mapa de manera horizontal?
por BACA Jue Nov 28, 2019 11:13 pm


[VX Ace] Script para duplicar tamaño y escala de ventana del juego

Ir abajo

[VX Ace] Script para duplicar tamaño y escala de ventana del juego Empty [VX Ace] Script para duplicar tamaño y escala de ventana del juego

Mensaje por ZororoWhite el Dom Oct 13, 2019 12:23 am

Este es un script que encontré el otro día perdido en el fondo de un post del foro de la comunidad inglesa del Maker y no solo me parece una maravilla sino que es lo más útil del mundo. Eso sí, está en japonés y no he entendido poco más que el nombre del autor y su funcionamiento.

Autor: Créditos a Momomaru  (ももまる)

Funcionalidad: Este script duplica la escala del juego al doble de su tamaño manteniendo la relación de píxeles, esto quiere decir que no solo amplía el tamaño de la ventana sino de los gráficos del propio juego. Es un script además de plug and play, no requiere de ninguna edición por parte del usuario. Solo pulsad F5 con la ventana del juego activa y cambiará entre la escala por defecto del maker y una escala duplicada de pantalla.

Notas adicionales: Cabe destacar que funciona tanto con el tamaño por defecto del Ace (544x416) como con el máximo de resolución ampliable desde el propio programa (640x480), así que supongo que igualmente funcionará en resoluciones intermedias.

A continuación, el código del script.
Código:
#==============================================================================
# ★ RGSS3-Extension
# LNX25_ゲーム画面倍率切替
#  ゲーム中、F5 キーでゲーム画面の表示倍率を切り替えます。
#
#  version   : 1.00 (12/02/27)
#  author    : ももまる
#  reference : [url]http://peachround.blog.fc2.com/blog-entry-20.html[/url]
#
#==============================================================================

module LNX25
  #--------------------------------------------------------------------------
  # ● 切替キー
  #--------------------------------------------------------------------------
  RESIZE_KEY = :F5 # 規定値: :F5
end

#==============================================================================
# ■ LNXスクリプト導入情報
#==============================================================================
$lnx_include = {} if $lnx_include == nil
$lnx_include[:lnx25] = 100 # version
p "OK:LNX25_ウィンドウサイズ変更"

#==============================================================================
# ■ Graphics
#==============================================================================
module Graphics
  @screen_zoom = 1
  #--------------------------------------------------------------------------
  # ● ゲーム画面の表示倍率取得
  #--------------------------------------------------------------------------
  def self.screen_zoom
    @screen_zoom
  end
  #--------------------------------------------------------------------------
  # ● ゲーム画面の表示倍率変更
  #--------------------------------------------------------------------------
  def self.screen_zoom=(rate)
    self.rgssplayer_resize(rate)
    @screen_zoom = rate
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウハンドルの取得(Win32API)
  #--------------------------------------------------------------------------
  def self.rgssplayer
    Win32API.new("user32", "FindWindow", "pp", "i").call("RGSS Player", 0)
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウのリサイズ(Win32API)
  #--------------------------------------------------------------------------
  def self.rgssplayer_resize(rate)
    move_w = Win32API.new("user32", "MoveWindow", "liiiil", "l")
    get_sm = Win32API.new("user32", "GetSystemMetrics", "i", "i")
    # サイズ計算
    frame_w   = get_sm.call(7) * 2 # ウィンドウ枠(横方向)
    frame_h   = get_sm.call(8) * 2 # ウィンドウ枠(縦方向)
    caption_h = get_sm.call(4)     # タイトルバーの高さ
    width  = self.width  * rate + frame_w
    height = self.height * rate + frame_h + caption_h
    x = (get_sm.call(0) - width ) / 2
    y = (get_sm.call(1) - height) / 2
    # ウィンドウ位置・サイズ変更(ウィンドウ, X, Y, 幅, 高さ, 更新フラグ)
    move_w.call(self.rgssplayer, x, y, width, height, 1)
  end
end
class << Graphics
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias :lnx25_update :update
  def update
    # 元のメソッドを呼ぶ
    lnx25_update
    # F5 キーが押されたらリサイズ
    if Input.trigger?(LNX25::RESIZE_KEY)
      self.screen_zoom = (self.screen_zoom == 1 ? 2 : 1)
    end
  end
end


Imágenes innecesarias para comprender la funcionalidad del script. Recordad insertarlo debajo de Materials y encima de Main. 
Espero que a alguien le sea de utilidad. Un saludo.
ZororoWhite
ZororoWhite
PJ Principal
PJ Principal

Masculino
España
RPG Maker : Ace
Mensajes : 493
Monedas : 3158
Reputación : 72
Edad : 20
Localización : En Hysura, quemando RoH 4

Volver arriba Ir abajo

Volver arriba

- Temas similares

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