La Forge des Rêves
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilAccueil  PortailPortail  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

 

 Bandes noires

Aller en bas 
4 participants
AuteurMessage
Luck
> Administrateur
> Administrateur
Luck


Masculin
Nombre de messages : 507
Age : 31
Localisation : 35
Avez vous RPGMXP ? : Oui
Quels sont vos projets ? : Nightmares of Apocalypsia - Mario Kart XP
Date d'inscription : 17/11/2006

Fiche Créateur
Points de Créativité:
Bandes noires Left_bar_bleue50/50Bandes noires Empty_bar_bleue  (50/50)
Commentaires: Administrateur du forum.

Bandes noires Empty
MessageSujet: Bandes noires   Bandes noires Icon_minitimeMar 10 Juil - 3:55

Et voilà un petit script pour afficher des bandes noires.
L'auteur est Selwyn.


Voici un petit screen :


Bandes noires Testi9ru7


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
Revenir en haut Aller en bas
Koss
> Administrateur
> Administrateur
Koss


Masculin
Nombre de messages : 404
Age : 31
Quels sont vos projets ? : Glandage total...
Date d'inscription : 18/04/2007

Fiche Créateur
Points de Créativité:
Bandes noires Left_bar_bleue0/50Bandes noires Empty_bar_bleue  (0/50)
Commentaires: -

Bandes noires Empty
MessageSujet: Re: Bandes noires   Bandes noires Icon_minitimeMar 10 Juil - 4:08

Pratique pour les cinématiques^^
Revenir en haut Aller en bas
kamiho
> Barbouilleur
> Barbouilleur
kamiho


Masculin
Nombre de messages : 26
Age : 31
Date d'inscription : 24/05/2007

Bandes noires Empty
MessageSujet: Re: Bandes noires   Bandes noires Icon_minitimeMar 17 Juil - 6:06

euh... plutôt que de surcharger le jeu de script faire une image de deux bande noir puis afficher l'afficher l'image ne serait pas plus simples
Revenir en haut Aller en bas
Koss
> Administrateur
> Administrateur
Koss


Masculin
Nombre de messages : 404
Age : 31
Quels sont vos projets ? : Glandage total...
Date d'inscription : 18/04/2007

Fiche Créateur
Points de Créativité:
Bandes noires Left_bar_bleue0/50Bandes noires Empty_bar_bleue  (0/50)
Commentaires: -

Bandes noires Empty
MessageSujet: Re: Bandes noires   Bandes noires Icon_minitimeLun 23 Juil - 3:02

Perso je pense que c'est moins chiant en script, en effet pas besoin de faire ton image et de surcharger d'events( en effet si tu fais une cinématique ce sera déjà surchargé d'events, alors un script est assez pratique)
Par contre, y-a-til une fonction "appeler script"? Parce que je pense que là les bandes noires restent non?
Revenir en haut Aller en bas
Night
> Artiste confirmé
> Artiste confirmé
Night


Masculin
Nombre de messages : 125
Age : 29
Localisation : =)
Avez vous RPGMXP ? : =)
Quels sont vos projets ? : =)
Date d'inscription : 25/06/2007

Fiche Créateur
Points de Créativité:
Bandes noires Left_bar_bleue0/50Bandes noires Empty_bar_bleue  (0/50)
Commentaires: BOUHAHAHAHAHA

Bandes noires Empty
MessageSujet: Re: Bandes noires   Bandes noires Icon_minitimeSam 28 Juil - 9:42

Justement, tu PEUX faire ça en event et c'est plutot plus pratique, inutile de surcharger le jeu en scripts. Café
Tout l'inverse quoi XD
Le surchargement d'event est pour moi meilleurs que le surchargement de script, car sinon tu t'y perd ... Zzzz ...

Enfin bon, c'est votre choix ...
Et puis, il est inutile de faire tout ça en un seul entier script. Football
Revenir en haut Aller en bas
Contenu sponsorisé





Bandes noires Empty
MessageSujet: Re: Bandes noires   Bandes noires Icon_minitime

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
La Forge des Rêves :: > Salle technique :: Outils courants-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser