RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-40%
Le deal à ne pas rater :
Tefal Ingenio Emotion – Batterie de cuisine 10 pièces (induction, ...
59.99 € 99.99 €
Voir le deal

 

 Bandes Noires

Aller en bas 
AuteurMessage
arshes
Jongleur Itinérant
Jongleur Itinérant
arshes


Masculin
Nombre de messages : 81
Age : 28
Date d'inscription : 23/06/2007

Bandes Noires Empty
MessageSujet: Bandes Noires   Bandes Noires EmptyMar 10 Juil 2007, 12:18

Auteur :
Selwyn

Description :
Permet de mettre des bandes noires sur l' ¨¦cran pour faire un effet de film.

Screenshot :
Bandes Noires Testi9ru7

Script :
Code:
#==============================================================================
# ¡ö 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

Demo
N\A

Instruction :

A plaçé au dessus de main

Mettez dans un evenement : 'WScreen.turn_on' pour l' activer et 'WScreen.turn_off' pour le d¨¦sactiver

Traduction :

Yavais rien a traduire mais j'ai mis le script ^^


Voila
Revenir en haut Aller en bas
 
Bandes Noires
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Divers-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser