[RGSS]Seu jogo em Wide Screem
2 participantes
Página 1 de 1
[RGSS]Seu jogo em Wide Screem
Esse script coloca tipo aquelas faixas pretas na tela estilo em cinema...ja como não da pra explicar direito logo abaixo a uma imagem.
Para chamar o scrit coloque:"WScreen.turn_on" sem as ("") em processo paralelo..ou quandu quiser fazer uma introdução.
E para fazer sumir coloque "WScreen.turn_off".
Imagem:
Para chamar o scrit coloque:"WScreen.turn_on" sem as ("") em processo paralelo..ou quandu quiser fazer uma introdução.
E para fazer sumir coloque "WScreen.turn_off".
- Código:
#==============================================================================
# ■ WScreen
#------------------------------------------------------------------------------
# By Selwyn, Widescreen effect script
# released the 1st of February
#
# This script allows to give some cutscenes a 'widescreen' effect.
#
# The script is off by default (when you first start the game).
#
# By default, when the widescreen mode is turned on, it hides one tile at the
# top of the screen and one tile a the bottom.
#
# By default, the transition_speed is 3, you can change this value just a
# few lines below
#
# To turn the script on, put 'WScreen.turn_on' in a call script command of
# an event. Turn it off with 'WScreen.turn_off'
#
# To change the number tiles hidden in widescreen, use the following function
# in a call script command of an event :
# 'WScreen.size = NUMBER'
#
#==============================================================================
module WScreen
#--------------------------------------------------------------------------
# ● define instance variables
#--------------------------------------------------------------------------
@state = false
@tile_size = 1
@transition_speed = 3
#--------------------------------------------------------------------------
# ● WScreen.on?
# checks if the widescreen mode is on.
#--------------------------------------------------------------------------
def self.on?
return @state
end
#--------------------------------------------------------------------------
# ● WScreen.off?
# checks if the widescreen mode is off.
#--------------------------------------------------------------------------
def self.off?
return !@state
end
#--------------------------------------------------------------------------
# ● WScreen.turn_on
# turns the widescreen mode on.
#--------------------------------------------------------------------------
def self.turn_on
@state = true
$game_player.center($game_player.x, $game_player.y)
end
#--------------------------------------------------------------------------
# ● WScreen.turn_off
# turns the widescreen mode off.
#--------------------------------------------------------------------------
def self.turn_off
@state = false
$game_player.center($game_player.x, $game_player.y)
end
#--------------------------------------------------------------------------
# ● WScreen.size
# returns the number of hidden tiles when the widescreen mode is on.
#--------------------------------------------------------------------------
def self.size
return on? ? @tile_size : 0
end
#--------------------------------------------------------------------------
# ● WScreen.size = INTEGER
# set the number of tiles to hide when the widescreen mode is on.
#--------------------------------------------------------------------------
def self.size=(value)
@tile_size = [value % 9, 1].min
$game_player.center($game_player.x, $game_player.y)
end
#--------------------------------------------------------------------------
# ● WScreen.speed
# returns the transition speed between the off and on modes.
#--------------------------------------------------------------------------
def self.speed
return @transition_speed
end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
#
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● scroll_down
#--------------------------------------------------------------------------
def scroll_down(distance)
ntiles = 15 - WScreen.size * 2
@display_y = [@display_y + distance, (self.height - ntiles) * 128].min
end
end
#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
#
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● center_y
#--------------------------------------------------------------------------
def center_y
n = 240 - WScreen.size * 32
return (n - 16) * 4
end
#--------------------------------------------------------------------------
# ● center
#--------------------------------------------------------------------------
def center(x, y)
max_x = ($game_map.width - 20) * 128
ntiles = 15 - WScreen.size * 2
max_y = ($game_map.height - ntiles) * 128
$game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max
$game_map.display_y = [0, [y * 128 - center_y, max_y].min].max
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
last_moving = moving?
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
case Input.dir4
when 2
move_down
when 4
move_left
when 6
move_right
when 8
move_up
end
end
last_real_x = @real_x
last_real_y = @real_y
super
if @real_y > last_real_y and @real_y - $game_map.display_y > center_y
$game_map.scroll_down(@real_y - last_real_y)
end
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
$game_map.scroll_left(last_real_x - @real_x)
end
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
$game_map.scroll_right(@real_x - last_real_x)
end
if @real_y < last_real_y and @real_y - $game_map.display_y < center_y
$game_map.scroll_up(last_real_y - @real_y)
end
unless moving?
if last_moving
result = check_event_trigger_here([1,2])
if result == false
unless $DEBUG and Input.press?(Input::CTRL)
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
if Input.trigger?(Input::C)
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
end
end
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
#
#==============================================================================
class Spriteset_Map
alias init_widescreen initialize
alias update_widescreen update
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def initialize
init_widescreen
if @viewport1.rect.height > 480 - (WScreen.size * 64)
@viewport1.rect.height = @viewport2.rect.height =
@viewport3.rect.height = 480 - (WScreen.size * 64)
oy = (480 - @viewport1.rect.height) / 2
@viewport1.rect.y = @viewport2.rect.y = @viewport3.rect.y = oy
end
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
sy = 480 - (WScreen.size * 64)
h = @viewport1.rect.height
if h != sy
n = [((sy - h) / WScreen.speed).abs, 1].max
@viewport1.rect.height += h > sy ? - n : n
@viewport2.rect.height += h > sy ? - n : n
@viewport3.rect.height += h > sy ? - n : n
oy = (480 - @viewport1.rect.height) / 2
@viewport1.rect.y = @viewport2.rect.y = @viewport3.rect.y = oy
end
update_widescreen
end
end
Imagem:
Crhonos- Número de Mensagens : 118
Idade : 30
Especialidade : Eventos
Data de inscrição : 01/12/2008
RMB Games
Nível de Reputação: 2
Reputação:
(19/100)
Gamescore:
(0/0)
Re: [RGSS]Seu jogo em Wide Screem
Nossa cara, quando for copiar os scripts, dá uma melhorada no tópico
Até meu irmão escreve melhor huahuahuahua
PS.: Script legal ^^
Até meu irmão escreve melhor huahuahuahua
PS.: Script legal ^^
Dark Dudu- Número de Mensagens : 385
Idade : 30
Localização : São Vicente - SP
Especialidade : Eventos
Data de inscrição : 01/12/2008
RMB Games
Nível de Reputação: 2
Reputação:
(61/100)
Gamescore:
(0/0)
Tópicos semelhantes
» [RGSS]New Game+
» [RGSS] GTA Loading
» [RGSS] XAS Hero v3.3
» [RGSS] KGC DamageAlter
» [RGSS] KGC Module
» [RGSS] GTA Loading
» [RGSS] XAS Hero v3.3
» [RGSS] KGC DamageAlter
» [RGSS] KGC Module
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos