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



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Xiaomi Mi Smart Camera 2K Standard Edition (design compact / support ...
11.39 €
Voir le deal

 

 [RGSS2][VX] Système d'animation du Parallaxe

Aller en bas 
AuteurMessage
Sansonic
Auguste Polichinelle
Auguste Polichinelle
Sansonic


Masculin
Nombre de messages : 1116
Age : 31
Projet(s) en cours : ...
Niveau Rpg Maker : jugez !...
Date d'inscription : 28/07/2007

[RGSS2][VX] Système d'animation du Parallaxe Empty
MessageSujet: [RGSS2][VX] Système d'animation du Parallaxe   [RGSS2][VX] Système d'animation du Parallaxe EmptyDim 01 Mai 2011, 01:40

Ce script est disponible grâce a modern algebra donc n'oubliez pas de l'insérer dans vos crédits.

Fonction:
Ce script permet de créer une animation du parallaxe d'une map en permutant plusieurs parallaxes entre eux, à la façon d'une autotiles en fait.

Comment l'utiliser:
J'ai traduit les instructions dans la mesure du possible en apportant quelques précisions personnelles qui je pense sont tout de même utiles, pas besoin de me créditer, j'vous ôte cette petite épine du pied vue que c'est à la porté de tout utilisateur de google Wink


Ce qui faut:
Plusieurs parallaxes, soit qui comme les autotiles sont en fait plusieurs poses d'une seul et meme scène, ou alors selon votre imagination, si vous souhaitez par exemple changer faire passer d'une fond étoilé à un fond ensoleillé, etc... Bon votre imagination est votre seule limite car le nombre de parallaxes est infini (en théorie).


Script:
Code:
#==============================================================================
#  Animated Parallax
#  Version 1.0
#  Author|Auteur: modern algebra (rmrk.net)
#  Date: September 27, 2008
#  Traduction: Sansonic (rpgfusionv2)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Instructions:
#   
#    Le script fonctionne en utilisant plusieurs "Parallaxes" et en les faisant permuter entre eux, selon un ordre choisi
#  à une vitesse/interval déterminer par $game_map.parallax_animation_frames
#    Ainsi,si vous souhaitez créer une animation vous devez faire certaines choses:
#      (a) Faire ou trouver les "Parallaxes" de votre choix et les importer
#        dans le dossier correspondant. Puis, nommez les avec le meme nom
#        en ordonnant chacun avec "_1", "_2", etc...
#          Exemple:
#            BlueSky_1, BlueSky_2, BlueSky_3, etc...
#      (b) Attribuer le premier parallaxe (donc avec le "_1") à la Map de votre choix.
#        C'est important que ce soit le premier parallaxe et non un autre
#        car si vous attribuer par exemple le parallaxe
#        BlueSky_2 (pour reprendre l'exemple plus d'en haut), l'animation exclura le premier parallaxe et donc
#        elle ne se fera qu'entre le parallaxe attribuer, ici "BlueSky_2", et le dernier parallaxe, sans jamais inclure le 1er.
#      (c) Descendez à la Ligne 38 et suivez les instructions
#        pour la vitesse de l'animation.
#==============================================================================
# ** Game_Map
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#    new method - parallax_animation_frames
#==============================================================================

class Game_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Parallax Animation Frames
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def parallax_animation_frames
    frames = case @map_id
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #    EDITABLE REGION
    #``````````````````````````````````````````````````````````````````````
    #  En fait, cette partie détermine le nombre de Frames s'écoulant entre chaque
    # changement d'images de l'animation du parallaxe d'une Map. Donc, si vous mettez  20,           
    # le script passera à l'image suivante de l'animation toutes les 20 frames.
    #
    #
    #  Pour ce faire, insérez ce code après les "++" plus bas:
    #    when "N°_de_la_Map" then "Nbr_de_Frames"
    #
    #  Exemple:
    #    when 2 then 20
    #
    #  signifie que sur la Map 2, l'animation enchainera les parallaxe toutes les 20 frame
    #  Il y a environ 60 frames dans 1 seconde.
    #
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    # Pour Map 2
    when 2 then 20
    # Pour Map 8
    when 8 then 40
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #      END EDITABLE REGION
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    else
      # Default if Map not set and the parallax is animated
      30
    end
    return frames
  end
end

#==============================================================================
# ** Spriteset_Map
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#    overwritten methods - create_parallax, dispose_parallax, update_parallax
#==============================================================================

class Spriteset_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Parallax
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def create_parallax
    # Initialize with one plane
    @parallax = []
    @active_parallax = 0
    @frame_count = 0
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Dispose of Parallax
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def dispose_parallax
    @parallax.each { |plane| plane.dispose }
    @parallax.clear
  end
  #--------------------------------------------------------------------------
  # * Update Parallax
  #--------------------------------------------------------------------------
  def update_parallax
    if @parallax_name != $game_map.parallax_name
      @parallax_name = $game_map.parallax_name
      if !@parallax.empty?
        # Delete previous bitmap
        @parallax.each { |plane| plane.bitmap.dispose }
        @parallax.each { |plane| plane.bitmap = nil }
        @parallax.clear
      end
      if @parallax_name != ""
        name = @parallax_name.dup
        loop do
          # Make a new plane
          plane = Plane.new (@viewport1)
          plane.z = -100
          plane.visible = false
          begin
            # Set the bitmap to the name
            plane.bitmap = Cache.parallax (name)
          rescue
            plane.dispose
            break
          end
          @parallax.push (plane)
          if name.slice! (/_(\d+)$/) != nil
            frame = ($1.to_i + 1).to_s
            name += "_#{frame}"
          else
            break
          end
        end
        @active_parallax = 0
        @parallax[0].visible = true unless @parallax[0].nil?
      end
      @parallax_animation_frames = $game_map.parallax_animation_frames
      Graphics.frame_reset
    end
    return if @parallax.empty?
    ox = $game_map.calc_parallax_x(@parallax[0].bitmap)
    oy = $game_map.calc_parallax_y(@parallax[0].bitmap)
    @parallax.each { |plane| plane.ox = ox }
    @parallax.each { |plane| plane.oy = oy }
    return if @parallax.size < 2
    # Animate Parallax
    @frame_count += 1
    if @frame_count % @parallax_animation_frames == 0
      # Switch visible Parallax
      @parallax[@active_parallax].visible = false
      @active_parallax = (@active_parallax + 1) % @parallax.size
      @parallax[@active_parallax].visible = true
    end
  end
end

Exemple d'images:
[RGSS2][VX] Système d'animation du Parallaxe Farm_water
(Sauf que celle-ci est à découper en quatre et à nommer selon la méthode indiquée dans le script)
Revenir en haut Aller en bas
http://callgame.bbactif.com/portal.htm
 
[RGSS2][VX] Système d'animation du Parallaxe
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» RGSS2 -> QuickSave
» [RGSS2] Rpg Maker VX Online
» [RGSS2]Menu style FFVX

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