Templo RPG Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Efeito WideScreen Empty Efeito WideScreen 12/8/2012, 22:47

FrozenGraveyard

FrozenGraveyard
Membro Honorário I
Membro Honorário I
.:EFEITO WIDESCREEN:.

Introdução:

Esse é um script que permite criar o efeito daquelas barras que sobrepõem os cantos da tela.Como nos filmes de faroeste ou em animações como em Resident Evil ou Dinocrisis

Caracteristicas:

Cria um efeito Widescreen no jogo.Ele é ativavel por eventos.

Script:

Código:
#==============================================================================
# WideScreen
#------------------------------------------------------------------------------
# Criador : Selwyn
# Data : 01/02/2007
# Tradução e Divulgação : LegendsX
#
#------------------------------------------------------------------------------
# Script que chamado por um evento traz para a tela
# o efeito de Widescreen, ou seja fecha a tela por
# cima e para baixo.
#
# Para começar chame o script pelo evento "Chamar Script"
# e coloque "WScreen.turn_on" para desátiva-lo
# "WScreen.turn_off".
#
#==============================================================================

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

Instruções:


Cole o script acima do main.

Para ativar o script por eventos.Va no comando chamar script e digite:

Código:
WScreen.turn_on

Para desativar o script por eventos.Va no comando chamar script e digite:

Código:
WScreen.turn_off

Screenshot:


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Demo:

Em anexo

Agradecimentos:

Criado por Selwyn
Traduzido por LegendsX

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

2Efeito WideScreen Empty Re: Efeito WideScreen 12/8/2012, 22:48

Dr.

Dr.
Banido
Banido
o agora disponhe sistema para o rpg maker vx ace !

3Efeito WideScreen Empty Re: Efeito WideScreen 12/8/2012, 23:44

FrozenGraveyard

FrozenGraveyard
Membro Honorário I
Membro Honorário I
Como diria Jack Stripador:Vamos por partes

Minha meta ainda é postar mais uns 50 scripts de Vx,Uns 50 de XP,e depois alguns do Vx Ace!
aguarde que em breve estarei postando mais pois ainda quero postar tutoriais,sistemas,e umas aulinhas de Rgss ;) então Aguarde Feliz e sorridente

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos