Últimos temas
» Cese de actividad del foro
por Muzgar Ayer a las 10:50 pm

» Escaping From The Dark - Juego de Misterio y Terror - [MZ] - Descarga disponible
por rstudios Jue Abr 15, 2021 11:27 pm

» Concursos anuales del foro 2021 [Resultados]
por Vesper Lun Abr 12, 2021 12:24 am

» Concursos anuales del foro 2021 [Votaciones]
por Lenny Sáb Abr 03, 2021 7:36 pm

» "El Destino de los 5 Libros"(Alfa)
por ShinZeta Jue Abr 01, 2021 4:56 am

» La Brújula de Zaza (JUEGO COMPLETO) (VXACE)
por Pocari Miér Mar 31, 2021 6:45 pm

» Ayuda con los puzzles de mi juego
por Chadoumaru Mar Mar 23, 2021 12:18 am

» RPGXP La maldición de Grim
por Alex1633 Sáb Mar 20, 2021 9:54 pm

» [VX] Jikan: La Bruja del Tiempo
por Aymar Sáb Mar 20, 2021 6:05 pm

» ¡Eventos y concursos anuales del foro! [2021]
por Lenny Sáb Mar 13, 2021 1:33 pm

» Los guerreros iluminados (Juego completo)
por CalamarRojo Sáb Mar 13, 2021 12:14 am

» Laminación: Al otro lado de la brecha (NUEVO PROYECTO)
por Pocari Dom Mar 07, 2021 8:27 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 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 : 528
Monedas : 3203
Reputación : 86
Edad : 22
Localización : Haciendo juegos indies o algo

Volver arriba Ir abajo

Volver arriba

- Temas similares

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