Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por Monochro Moe el 2018-05-19, 20:26

Estoy creando un juego en el que quiero que siempre esté en pantalla completa sin que el que lo juege pueda minimizar la ventana ni nada, pero no se como hacerlo. Por cierto, tengo un script que salta la pantalla de título, me pareció importante mencionarlo. Gracias
avatar
Monochro Moe
Iniciado
Iniciado

0/3

Créditos 2

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por Alcacho el 2018-05-19, 20:38

Apreta Alt + Enter al mismo tiempo .

y eso seria todo cuando terminas tu proyecto ese se quedara
asi para los jugadores al menos ami me paso eso Cool
avatar
Alcacho
Iniciado
Iniciado

1/3

Créditos 79

Gracias : 8

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por xXIsrael0499Xx el 2018-05-19, 20:46

No Alt + Enter solo funciona para ti, no para que tu juego se vea en pantalla completa para todos. Si quieres que tu juego se inicie en pantalla completa y todos los que lo jueguen lo tengan en pantalla completa necesitas un script.

Se encuentra en el foro, con una simple busqueda lo puedes conseguir, pero yo no lo voy hacer porque me da flojera.

Saludos.
avatar
xXIsrael0499Xx
Veterano
Veterano

0/3

Créditos 2043

Gracias : 113

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por Miky Joe el 2018-05-19, 22:26

Al parecer se usaba un script, para eso, no lo recuerdo bién... pero no a todos les gusta "la pantalla completa", debes ponerlo en la info. para que los que jueguen lo sepan y no se "asusten".

Bueno, yo te digo eso, porque en lo personal "odio" los juegos del maker a pantalla completa, pues no te dejan minimizar ni hacer otra cosa como otros juegos.

Lo que te mencionaba, acerca de ponerlo en la info, es porque tal ves a muchos como a mi nos desagrada eso, ya que he descargado y al darle play, ver la pantalla completa, he quitado dicho juego, algunos los he tolerado.

Es mejor creo yo, que consigas hacer algo como, poner una opción de si quieres la pantalla completa o no, creo que sería mejor así.

Saludos.
avatar
Miky Joe
Veterano
Veterano

0/3

Créditos 2003

Gracias : 79

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por KandiskiManga el 2018-05-20, 15:03

Mmm... No sé si esto es lo que quieres, pero yo pille un script hace tiempo que te pone automáticamente el juego en pantalla completa y en alta calidad. Es de Zeus81 por si quieren buscar más sobre él. Espero haberte ayudado, un saludo y suerte con tus proyectos, bye.
Código:
# Fullscreen++ v2.2 for VX and VXace by Zeus81
# Free for non commercial and commercial use
# Licence : http://creativecommons.org/licenses/by-sa/3.0/
# Contact : zeusex81@gmail.com
# (fr) Manuel d'utilisation : http://pastebin.com/raw.php?i=1TQfMnVJ
# (en) User Guide           : http://pastebin.com/raw.php?i=EgnWt9ur
 
$imported ||= {}
$imported[:Zeus_Fullscreen] = __FILE__

class << Graphics
  Disable_VX_Fullscreen = false
 
  CreateWindowEx            = Win32API.new('user32'  , 'CreateWindowEx'           , 'ippiiiiiiiii', 'i')
  GetClientRect             = Win32API.new('user32'  , 'GetClientRect'            , 'ip'          , 'i')
  GetDC                     = Win32API.new('user32'  , 'GetDC'                    , 'i'           , 'i')
  GetSystemMetrics          = Win32API.new('user32'  , 'GetSystemMetrics'         , 'i'           , 'i')
  GetWindowRect             = Win32API.new('user32'  , 'GetWindowRect'            , 'ip'          , 'i')
  FillRect                  = Win32API.new('user32'  , 'FillRect'                 , 'ipi'         , 'i')
  FindWindow                = Win32API.new('user32'  , 'FindWindow'               , 'pp'          , 'i')
  ReleaseDC                 = Win32API.new('user32'  , 'ReleaseDC'                , 'ii'          , 'i')
  SendInput                 = Win32API.new('user32'  , 'SendInput'                , 'ipi'         , 'i')
  SetWindowLong             = Win32API.new('user32'  , 'SetWindowLong'            , 'iii'         , 'i')
  SetWindowPos              = Win32API.new('user32'  , 'SetWindowPos'             , 'iiiiiii'     , 'i')
  ShowWindow                = Win32API.new('user32'  , 'ShowWindow'               , 'ii'          , 'i')
  SystemParametersInfo      = Win32API.new('user32'  , 'SystemParametersInfo'     , 'iipi'        , 'i')
  UpdateWindow              = Win32API.new('user32'  , 'UpdateWindow'             , 'i'           , 'i')
  GetPrivateProfileString   = Win32API.new('kernel32', 'GetPrivateProfileString'  , 'ppppip'      , 'i')
  WritePrivateProfileString = Win32API.new('kernel32', 'WritePrivateProfileString', 'pppp'        , 'i')
  CreateSolidBrush          = Win32API.new('gdi32'   , 'CreateSolidBrush'         , 'i'           , 'i')
  DeleteObject              = Win32API.new('gdi32'   , 'DeleteObject'             , 'i'           , 'i')
 
  unless method_defined?(:zeus_fullscreen_update)
    HWND     = FindWindow.call('RGSS Player', 0)
    BackHWND = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
    alias zeus_fullscreen_resize_screen resize_screen
    alias zeus_fullscreen_update        update
  end
private
  def initialize_fullscreen_rects
    @borders_size    ||= borders_size
    @fullscreen_rect ||= screen_rect
    @workarea_rect   ||= workarea_rect
  end
  def borders_size
    GetWindowRect.call(HWND, wrect = [0, 0, 0, 0].pack('l4'))
    GetClientRect.call(HWND, crect = [0, 0, 0, 0].pack('l4'))
    wrect, crect = wrect.unpack('l4'), crect.unpack('l4')
    Rect.new(0, 0, wrect[2]-wrect[0]-crect[2], wrect[3]-wrect[1]-crect[3])
  end
  def screen_rect
    Rect.new(0, 0, GetSystemMetrics.call(0), GetSystemMetrics.call(1))
  end
  def workarea_rect
    SystemParametersInfo.call(0x30, 0, rect = [0, 0, 0, 0].pack('l4'), 0)
    rect = rect.unpack('l4')
    Rect.new(rect[0], rect[1], rect[2]-rect[0], rect[3]-rect[1])
  end
  def hide_borders() SetWindowLong.call(HWND, -16, 0x14000000) end
  def show_borders() SetWindowLong.call(HWND, -16, 0x14CA0000) end
  def hide_back()    ShowWindow.call(BackHWND, 0)              end
  def show_back
    ShowWindow.call(BackHWND, 3)
    UpdateWindow.call(BackHWND)
    dc    = GetDC.call(BackHWND)
    rect  = [0, 0, @fullscreen_rect.width, @fullscreen_rect.height].pack('l4')
    brush = CreateSolidBrush.call(0)
    FillRect.call(dc, rect, brush)
    ReleaseDC.call(BackHWND, dc)
    DeleteObject.call(brush)
  end
  def resize_window(w, h)
    if @fullscreen
      x, y, z = (@fullscreen_rect.width-w)/2, (@fullscreen_rect.height-h)/2, -1
    else
      w += @borders_size.width
      h += @borders_size.height
      x = @workarea_rect.x + (@workarea_rect.width  - w) / 2
      y = @workarea_rect.y + (@workarea_rect.height - h) / 2
      z = -2
    end
    SetWindowPos.call(HWND, z, x, y, w, h, 0)
  end
  def release_alt
    inputs = [1,18,2, 1,164,2, 1,165,2].pack('LSx2Lx16'*3)
    SendInput.call(3, inputs, 28)
  end
public
  def load_fullscreen_settings
    buffer = [].pack('x256')
    section = 'Fullscreen++'
    filename = './Game.ini'
    get_option = Proc.new do |key, default_value|
      l = GetPrivateProfileString.call(section, key, default_value, buffer, buffer.size, filename)
      buffer[0, l]
    end
    @fullscreen       = get_option.call('Fullscreen'     , '0') == '1'
    @fullscreen_ratio = get_option.call('FullscreenRatio', '0').to_i
    @windowed_ratio   = get_option.call('WindowedRatio'  , '1').to_i
    toggle_vx_fullscreen if Disable_VX_Fullscreen and vx_fullscreen?
    fullscreen? ? fullscreen_mode : windowed_mode
  end
  def save_fullscreen_settings
    section = 'Fullscreen++'
    filename = './Game.ini'
    set_option = Proc.new do |key, value|
      WritePrivateProfileString.call(section, key, value.to_s, filename)
    end
    set_option.call('Fullscreen'     , @fullscreen ? '1' : '0')
    set_option.call('FullscreenRatio', @fullscreen_ratio)
    set_option.call('WindowedRatio'  , @windowed_ratio)
  end
  def fullscreen?
    @fullscreen or vx_fullscreen?
  end
  def vx_fullscreen?
    rect = screen_rect
    rect.width == 640 and rect.height == 480
  end
  def toggle_fullscreen
    fullscreen? ? windowed_mode : fullscreen_mode
  end
  def toggle_vx_fullscreen
    windowed_mode if @fullscreen and !vx_fullscreen?
    inputs = [1,18,0, 1,13,0, 1,13,2, 1,18,2].pack('LSx2Lx16'*4)
    SendInput.call(4, inputs, 28)
    zeus_fullscreen_update
    self.ratio += 0 # refresh window size
  end
  def vx_fullscreen_mode
    return if vx_fullscreen?
    toggle_vx_fullscreen
  end
  def fullscreen_mode
    return if vx_fullscreen?
    initialize_fullscreen_rects
    show_back
    hide_borders
    @fullscreen = true
    self.ratio += 0 # refresh window size
  end
  def windowed_mode
    toggle_vx_fullscreen if vx_fullscreen?
    initialize_fullscreen_rects
    hide_back
    show_borders
    @fullscreen = false
    self.ratio += 0 # refresh window size
  end
  def toggle_ratio
    return if vx_fullscreen?
    self.ratio += 1
  end
  def ratio
    return 1 if vx_fullscreen?
    @fullscreen ? @fullscreen_ratio : @windowed_ratio
  end
  def ratio=(r)
    return if vx_fullscreen?
    initialize_fullscreen_rects
    r = 0 if r < 0
    if @fullscreen
      @fullscreen_ratio = r
      w_max, h_max = @fullscreen_rect.width, @fullscreen_rect.height
    else
      @windowed_ratio = r
      w_max = @workarea_rect.width  - @borders_size.width
      h_max = @workarea_rect.height - @borders_size.height
    end
    if r == 0
      w, h = w_max, w_max * height / width
      h, w = h_max, h_max * width / height if h > h_max
    else
      w, h = width * r, height * r
      return self.ratio = 0 if w > w_max or h > h_max
    end
    resize_window(w, h)
    save_fullscreen_settings
  end
  def update
    release_alt if Disable_VX_Fullscreen and Input.trigger?(Input::ALT)
    zeus_fullscreen_update
    toggle_fullscreen if Input.trigger?(Input::F5)
    toggle_ratio      if Input.trigger?(Input::F6)
  end
  def resize_screen(width, height)
    zeus_fullscreen_resize_screen(width, height)
    self.ratio += 0 # refresh window size
  end
end
Graphics.load_fullscreen_settings
avatar
KandiskiManga
Iniciado
Iniciado

0/3

Créditos 37

Gracias : 7

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por AsFzKakarotto el 2018-05-20, 16:40

@xXIsrael0499Xx escribió: Yo no lo voy hacer porque me da flojera.

Por que no dar una solución y ya...

y KandiskiManga tu Script no funciona...

Aquí te dejo una versión que menciono Miky Joe para que no se asuste ;)
Podrás seleccionar entre pantalla normal o completa (no se te va a ejecutar en el modo editor):

Código:
module TONS_OF_ADDONS
# Editado por AsFz Kakarotto 20-04-2014
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration 2-1, UTILITY add-ons
#
#   You can enable/disable any add-on here if you wish. Set the value to false
#   to disable it. These features CANNOT be turned on/off during the game.
#
#     NAME_OF_THE_ADDON = true
#     NAME_OF_THE_ADDON = false
#
#   where NAME_OF_THE_ADDON is the same variable as the one used below.
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  CUSTOM_CONTROLS        = false
  FULLSCREEN             = true
  MULTI_DROP             = false
  ULTIMATE_FONT_OVERRIDE = false
  EQUAP_SKILLS           = false
  DIFFICULTY             = false
  ITEMCALL               = false
  SAVEPOINT              = false
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration 2-1
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  
end
#==============================================================================
# Window_Command
#==============================================================================

class Window_FullScreen < Window_Selectable

  def initialize(width, commands)
    super(0, 0, width, commands.size * 32 + 64)
    @item_max = commands.size
    @commands = commands
    self.contents = Bitmap.new(width - 32, @item_max * 32 + 32)
    if $fontface != nil
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
    elsif $defaultfonttype != nil
      self.contents.font.name = $defaultfonttype
      self.contents.font.size = $defaultfontsize
    end
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    qu = 'Desea activar pantalla completa?'
    self.contents.draw_text(0, 0, width - 32, 32, qu, 1)
    (0...@item_max).each {|i| draw_item(i, normal_color)}
  end

  def draw_item(index, color)
    rect = Rect.new(4, 32+32 * index, self.contents.width - 8, 32)
    rect2 = Rect.new(4+1, 32+32 * index+1, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.font.color = color
    self.contents.draw_text(rect, @commands[index], 1)
  end
  
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    self.top_row = row if row < self.top_row
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = 64
    x = (self.contents.width - cursor_width) / 2
    y = @index / @column_max * 32 - self.oy
    self.cursor_rect.set(x, y + 32, cursor_width, 32)
  end

end
  
#==============================================================================
# Scene_Title
#==============================================================================

class Scene_Title
  
  alias main_fullscreen? main
  def main
    if TONS_OF_ADDONS::FULLSCREEN && !$DEBUG
      unless $game_started
        Graphics.freeze
        $data_system = load_data('Data/System.rxdata')
        $game_system = Game_System.new
        @window = Window_FullScreen.new(320, ['Si' ,'No'])
        @window.x = 320 - @window.width / 2
        @window.y = 240 - @window.height / 2
        @window.opacity = 0
        Graphics.transition
        loop do
          Graphics.update
          Input.update
          @window.update
          update_window
          break if $game_started
        end
        Graphics.freeze
        @window.dispose
        @window = nil
        Graphics.transition
        Graphics.freeze
      end
    else
      $game_started = true
    end
    main_fullscreen?
  end
  
  def update_window
    if Input.trigger?(Input::C)
      if @window.index == 0
        $game_system.se_play($data_system.decision_se)
        keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
        keybd.call(0xA4, 0, 0, 0)
        keybd.call(13, 0, 0, 0)
        keybd.call(13, 0, 2, 0)
        keybd.call(0xA4, 0, 2, 0)
      else
        $game_system.se_play($data_system.cancel_se)
      end
      $game_started = true
    elsif Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $game_started = true
    end
  end
  end

y aquí por si quieres una pantalla Completa desde el Inicio, lamento decirte que no se como hacer para
quitar la opción de minimizar (alt + enter) como realmente lo quieres tú, pero si hubiese sabido te lo diría:

Código:
$showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
$showm.call(18,0,0,0)
$showm.call(13,0,0,0)
$showm.call(13,0,2,0)
$showm.call(18,0,2,0)

Ambos Script funcionan perfectamente siempre y cuando se ejecute con los script que vienen por default.
Son para el Maker XP según lo dice tu logotipo...  Suerte y saludos a todos... bye
avatar
AsFzKakarotto
Soñador
Soñador

0/3

Créditos 324

Gracias : 70

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por Wecoc el 2018-05-20, 18:29

Para quitar la opción Alt+Enter necesitas modificar el Game.exe con ResHacker, solo con script no puedes.

Hice un tutorial de esto hace tiempo, lo puedes ver aquí:
How to disable Fullscreen Alt+Enter function
Las imágenes estan caídas pero realmente no son necesarias para seguir el tutorial.

En cuanto a iniciar directamente con pantalla completa, el script de KandiskiManga no te sirve porque es para VX/Ace; el script que puso AsFzKakarotto sí te debería servir pero tiene muchas otras cosas a parte de pantalla completa, si solo quieres pantalla completa lo que suele hacer la gente es copiar simplemente ese pequeño código que puso AsFzKakarotto al final y ponerlo dentro del script Main justo debajo de la línea begin.

Pero hay un pequeño problema: Con la modificación de ResHacker la tecla que lo activa ya no es Alt+Enter sino F13. El teclado no tiene F13 así que el jugador no puede cambiarlo, pero via script aún se puede, pero eso significa que el código ese también cambia un poco:

Código:
$showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
$showm.call(0x7C,0,0,0)
$showm.call(0x7C,0,2,0)

Spoiler:
Y si usas ese primer script más completo, lo mismo. Busca estas líneas:
Código:
        keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
        keybd.call(0xA4, 0, 0, 0)
        keybd.call(13, 0, 0, 0)
        keybd.call(13, 0, 2, 0)
        keybd.call(0xA4, 0, 2, 0)
y las cambias por
Código:
        keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
        keybd.call(0x7C, 0, 0, 0)
        keybd.call(0x7C, 0, 2, 0)

Eso debería valer.
avatar
Wecoc
Administrador
Administrador



Créditos 12314

Gracias : 655

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

Mensaje por Monochro Moe el 2018-05-21, 20:44

@Miky Joe escribió:Al parecer se usaba un script, para eso, no lo recuerdo bién... pero no a todos les gusta "la pantalla completa", debes ponerlo en la info. para que los que jueguen lo sepan y no se "asusten".

Bueno, yo te digo eso, porque en lo personal "odio" los juegos del maker a pantalla completa, pues no te dejan minimizar ni hacer otra cosa como otros juegos.

Lo que te mencionaba, acerca de ponerlo en la info, es porque tal ves a muchos como a mi nos desagrada eso, ya que he descargado y al darle play, ver la pantalla completa, he quitado dicho juego, algunos los he tolerado.

Es mejor creo yo, que consigas hacer algo como, poner una opción de si quieres la pantalla completa o no, creo que sería mejor así.

Saludos.
Realmente quiero que sea así, es un juego con un estilo y definición cutre de esos juegos educativos malos, solo que... bueno mejor no hago spoilers aunque no te importe
avatar
Monochro Moe
Iniciado
Iniciado

0/3

Créditos 2

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Como puedo hacer que mi juego esté en pantalla completa al inicarlo?

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.