¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Invocar Estilo Final Fantasy
por akito_squall Hoy a las 16:20

» El poder oculto (Demo)
por alex1633 Ayer a las 20:56

» Tutorial Interactivo [Uso de interruptores]
por Ledai Ayer a las 16:58

» Necesito Script
por Elian84 Ayer a las 04:44

» Holaaa a tod@s!!!
por chronoMxx Ayer a las 03:41

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Ayer a las 01:06

» El poder oculto (Segunda entrega)
por alex1633 2016-12-03, 23:18

» Hola mucho gusto
por Hk Diamond 2016-12-03, 13:49

» SoraDeathss se presenta!
por chronoMxx 2016-12-03, 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx 2016-12-03, 06:45

Afiliados
Estadísticas
Tenemos 3383 miembros registrados.
El último usuario registrado es LordBaium.

Nuestros miembros han publicado un total de 79770 mensajes en 11248 argumentos.
Navega con Google Chrome
[DESCARGA]

[XP] Screen Color & Brightness

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Screen Color & Brightness

Mensaje por Wecoc el 2014-05-28, 03:37

Éste script permite cambiar de color de pantalla de un modo similar al tono de pantalla.

La llamada de script es ésta:
Código:
color = Color.new(255, 255, 255, 255)
$game_screen.start_color_change(color, 20)



Defines el color en la primera línea y la llamada en la segunda (ese 20 son los frames, pon los que quieras)

El script:

Código:
#==============================================================================
# ** Game_Screen
#------------------------------------------------------------------------------
# Cambiar Color de Pantalla
# Autor : Wecoc
#==============================================================================

class Game_Screen
  attr_reader  :color
  alias wecoc_color_ini initialize unless $@
  def initialize
    @color = Color.new(0, 0, 0, 0)
    @color_target = Color.new(0, 0, 0, 0)
    @color_duration = 0
    wecoc_color_ini
  end

  def start_color_change(color, duration)
    @color_target = color.clone
    @color_duration = duration
    if @color_duration == 0
      @color = @color_target.clone
      return true
    end
    if @color.alpha == 0
      red = @color_target.red
      green = @color_target.green
      blue = @color_target.blue
      @color = Color.new(red, green, blue, 0)
    end
    if @color_target.alpha == 0
      red = @color.red
      green = @color.green
      blue = @color.blue
      @color_target = Color.new(red, green, blue, 0)
    end
    return true
  end
 
  alias wecoc_color_upd update unless $@
  def update
    if @color_duration >= 1
      d = @color_duration
      @color.red = (@color.red * (d - 1) + @color_target.red) / d
      @color.green = (@color.green * (d - 1) + @color_target.green) / d
      @color.blue = (@color.blue * (d - 1) + @color_target.blue) / d
      @color.alpha = (@color.alpha * (d - 1) + @color_target.alpha) / d
      @color_duration -= 1
    else
      @blank_color = Color.new(0, 0, 0, 0)
      if @color.alpha == 0 and @color != @blank_color
        @color = @blank_color
      end
      if @color_target.alpha == 0 and @color_target != @blank_color
        @color_target = @blank_color
      end
    end
    wecoc_color_upd
  end
end

class Spriteset_Map
  alias wecoc_color_upd update unless $@
  def update
    wecoc_color_upd
    @viewport1.color = $game_screen.color
  end
end



No requiere créditos :)


Última edición por Wecoc el 2014-05-30, 08:04, editado 1 vez

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Screen Color & Brightness

Mensaje por mrhawi el 2014-05-28, 03:50

Está interesante, lo empecé a toquetear para trastear un rato con scripts, creo que mas o menos le pillo el truco. Podrías hacer uno parecido, si es que no hiciste pero para mostrar imágenes por variable.

Wecoc escribió:

No requiere créditos :)


Te daré créditos :D

mrhawi
Aventurero
Aventurero

0/3

Créditos 2666

Gracias : 89

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Screen Color & Brightness

Mensaje por Wecoc el 2014-05-30, 08:03

mrhawi escribió:Podrías hacer uno parecido, si es que no hiciste pero para mostrar imágenes por variable.

No entendí :(

=====

He hecho otro script de lo mismo, compatible y a parte de éste, solo que con la misma base.

Permite cambiar el brillo (Brightness) de la Pantalla.

Código:
#==============================================================================
# ** Game_Screen
#------------------------------------------------------------------------------
# Cambiar Brillo (Brightness) de Pantalla
# Autor : Wecoc
#==============================================================================

begin
  $viewport = Viewport.new(0, 0, 640, 480)
  $viewport.z = 10000
end

class Game_Screen
  attr_reader  :brightness
  attr_reader  :bright
 
  alias wecoc_brightness_ini initialize unless $@
  def initialize
    @bright = Color.new(0, 0, 0, 0)
    @bright_target = Color.new(0, 0, 0, 0)
    @bright_duration = 0
    wecoc_brightness_ini
    @brightness = 0
  end

  def increase_brightness
    @brightness += 20
    if @brightness > 0
      start_bright_change(Color.new(255, 255, 255, @brightness), 0)
    else
      start_bright_change(Color.new(0, 0, 0, -@brightness), 0)
    end
  end
 
  def decrease_brightness
    @brightness -= 20
    if @brightness > 0
      start_bright_change(Color.new(255, 255, 255, @brightness), 0)
    else
      start_bright_change(Color.new(0, 0, 0, -@brightness), 0)
    end
  end
 
  def start_bright_change(color, duration)
    @bright_target = color.clone
    @bright_duration = duration
    if @bright_duration == 0
      @bright = @bright_target.clone
      return true
    end
    if @bright.alpha == 0
      red = @bright_target.red
      green = @bright_target.green
      blue = @bright_target.blue
      @bright = Color.new(red, green, blue, 0)
    end
    if @bright_target.alpha == 0
      red = @bright.red
      green = @bright.green
      blue = @bright.blue
      @bright_target = Color.new(red, green, blue, 0)
    end
    return true
  end
 
  alias wecoc_bright_upd update unless $@
  def update
    if @bright_duration >= 1
      d = @bright_duration
      @bright.red = (@bright.red * (d - 1) + @bright_target.red) / d
      @bright.green = (@bright.green * (d - 1) + @bright_target.green) / d
      @bright.blue = (@bright.blue * (d - 1) + @bright_target.blue) / d
      @bright.alpha = (@bright.alpha * (d - 1) + @bright_target.alpha) / d
      @bright_duration -= 1
    else
      @blank_color = Color.new(0, 0, 0, 0)
      if @bright.alpha == 0 and @bright != @blank_color
        @bright = @blank_bright
      end
      if @bright_target.alpha == 0 and @bright_target != @blank_color
        @bright_target = @blank_color
      end
    end
    wecoc_bright_upd
  end
end

module Graphics
  class << self
    alias brightness_upd update
    def update
      brightness_upd
      if $game_screen == nil
        $game_screen = Game_Screen.new
      end
      $viewport.color = $game_screen.bright
    end
  end
end


Funciona así:
$game_screen.increase_brightness
$game_screen.decrease_brightness

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Screen Color & Brightness

Mensaje por Contenido patrocinado Hoy a las 16:34


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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