Partagez
Aller en bas
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 13:19
MATS est un écran titre animé, doté d'un scrolling horizontal et/ou vertical. Tout est à peu près paramétrable dans le module du script. Merci à Lightnox pour l'écran titre d'exemple!
Je me suis pas mal inspiré du script Scene_Title Miria de Moghunter .
Bref, trêve de blabla, voici le contenu :

~ Screens ~

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Mats10

~ Script ~

Code:
#==============================================================================
# ▼ MATS - MistAnimTitleScreen
# Version : 1.0
#------------------------------------------------------------------------------
# Ecran-Titre Animé par un scrolling horizontal et/ou vertical.
# Par Mist'
# Le 05/02/12
# http://www.rpgmakervx-fr.com/
#
# [Basé sur le Scene_Title Miria de Moghunter (http://www.atelier-rgss.com/)]
#==============================================================================
# Créer le Dossier "Graphics/MATS/" s'il n'existe pas.
#==============================================================================
TMP = "MATS"
Dir.mkdir("Graphics/#{TMP}", 0777) rescue nil
FileTest.exist?(TMP) ? nil : p("Le dossier #{TMP} a bien été créé !")

#==============================================================================
# Dans ce même dossier, placez les images suivantes :
#
# Plane1            # Couche 1
# Plane2            # Couche 2
# Plane3            # Couche 3
# Title_Command    # Image du menu de sélection
#
#==============================================================================

#==============================================================================
# ▼ MATS - MistAnimTitleScreen
# Module
#==============================================================================
module Mist_Anim_Title_Screen
    # Temps de transition
    TT = 120
    # Activer le mouvement d'ondes sur le texte du titre.
    # (true = activé ou false = désactivé)
    TWAVE = true
    # Opacité de la couche 1.
    TPLANE1_OPA = 255
    # Opacité de la couche 2.
    TPLANE2_OPA = 200
    # Opacité de la couche 3.
    TPLANE3_OPA = 170
    # Vitesse de déplacement de la couche 1 [Horizontal].
    TPLANE1_X = 1
    # Vitesse de déplacement de la couche 1 [Vertical].
    TPLANE1_Y = 0
    # Vitesse de déplacement de la couche 2 [Horizontal].
    TPLANE2_X = 2
    # Vitesse de déplacement de la couche 2 [Vertical].
    TPLANE2_Y = 0
    # Vitesse de déplacement de la couche 3 [Horizontal].
    TPLANE3_X = 4
    # Vitesse de déplacement de la couche 3 [Vertical].
    TPLANE3_Y = 0
    # Position des commandes :
    #              X  Y
    COMMAND_POS = [0, 220]
  end

#===============================================================================
# ▼ Cache
#===============================================================================
module Cache
  def self.title(filename)
    load_bitmap("Graphics/#{TMP}/", filename)
  end
end

#===============================================================================
# ▼ Scene_Title
#===============================================================================

class Scene_Title < Scene_Base
include Mist_Anim_Title_Screen
 
  alias mats_old_start start
  alias mats_old_update update
  #--------------------------------------------------------------------------
  # ● ALIAS ~
  #--------------------------------------------------------------------------
  def start
    mats_old_start
    create_command_sprite             
  end
  #--------------------------------------------------------------------------
  # ● MODIF ~
  #-------------------------------------------------------------------------- 
  def create_background
    @sprite = Plane.new   
    @sprite.bitmap = Cache.title("Plane1")
    @sprite2 = Plane.new
    @sprite2.bitmap = Cache.title("Plane2")
    @sprite3 = Plane.new   
    @sprite3.bitmap = Cache.title("Plane3")
    @sprite.opacity = TPLANE1_OPA
    @sprite2.opacity = TPLANE2_OPA   
    @sprite3.opacity = TPLANE3_OPA   
    @sprite.z  = 1
    @sprite2.z = 2
    @sprite3.z = 3
  end
  #--------------------------------------------------------------------------
  # ● MODIF ~
  #--------------------------------------------------------------------------
  def create_foreground
    @foreground_sprite = Sprite.new
    @foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
    @foreground_sprite.opacity = 0
    @foreground_sprite.z = 100
    draw_game_title if $data_system.opt_draw_title
    if TWAVE == true
      @foreground_sprite.wave_amp = 8
      @foreground_sprite.wave_length = 240
      @foreground_sprite.wave_speed = 320
    end
  end
  #--------------------------------------------------------------------------
  # ● AJOUT ~
  #-------------------------------------------------------------------------- 
  def create_command_sprite
    @com_image = Cache.title("Title_Command") 
    @com_bitmap = Bitmap.new(@com_image.width,@com_image.height)
    @com_width = @com_image.width
    @com_height = @com_image.height / 3   
    @com_src_rect = Rect.new(0, @command_window.index * @com_height, @com_width, @com_height)
    @com_bitmap.blt(0,0, @com_image, @com_src_rect)       
    @com = Sprite.new
    @com.bitmap = @com_bitmap
    @com.opacity = 0 
    @com.x = COMMAND_POS[0]
    @com.y = COMMAND_POS[1]
    @com.z = 4
  end
  #--------------------------------------------------------------------------
  # ● ALIAS ~
  #--------------------------------------------------------------------------
  def update
    mats_old_update
    @command_window.visible=false
    update_sprite_command   
    @foreground_sprite.opacity += 2
    @com.opacity += 2 if @foreground_sprite.opacity > 150
    @sprite.ox += TPLANE1_X
    @sprite.oy += TPLANE1_Y
    @sprite2.ox += TPLANE2_X
    @sprite2.oy += TPLANE2_Y
    @sprite3.ox += TPLANE3_X
    @sprite3.oy += TPLANE3_Y
    @foreground_sprite.update if TWAVE == true
  end
  #--------------------------------------------------------------------------
  # ● AJOUT ~
  #-------------------------------------------------------------------------- 
  def update_sprite_command
    return if @sprite_index == @command_window.index
    @sprite_index = @command_window.index
    @com.bitmap.clear
    @com_src_rect = Rect.new(0, @command_window.index * @com_height, @com_width, @com_height)
    @com_bitmap.blt(0,0, @com_image, @com_src_rect)         
  end
  #--------------------------------------------------------------------------
  # ● AJOUT ~
  #--------------------------------------------------------------------------
  def update_slide
    @sprite.ox += TPLANE1_X
    @sprite.oy += TPLANE1_Y
    @sprite2.ox += TPLANE2_X
    @sprite2.oy += TPLANE2_Y
    @sprite3.ox += TPLANE3_X
    @sprite3.oy += TPLANE3_Y
    @foreground_sprite.update if TWAVE == true   
  end
  #--------------------------------------------------------------------------
  # ● MODIF ~
  #--------------------------------------------------------------------------
  def dispose_background
    @sprite.bitmap.dispose
    @sprite2.bitmap.dispose
    @sprite3.bitmap.dispose   
    @com.bitmap.dispose   
    @foreground_sprite.bitmap.dispose
    @sprite.dispose
    @sprite2.dispose
    @sprite3.dispose
    @com.dispose   
    @foreground_sprite.dispose
  end 
  #--------------------------------------------------------------------------
  # ● AJOUT ~
  #--------------------------------------------------------------------------
  def title_fade
    if TWAVE == true   
      @foreground_sprite.wave_amp = 34
      @foreground_sprite.wave_length =120
      @foreground_sprite.wave_speed = 800
    end   
   
    for i in 0..120
      @foreground_sprite.opacity -= 3   
      @foreground_sprite.update if TWAVE == true   
      @com.opacity -= 3
      case @command_window.index
        when 0   
          @sprite.zoom_x += 0.01
          @sprite.zoom_y += 0.01 
          @sprite2.zoom_x += 0.01
          @sprite2.zoom_y += 0.01     
          @sprite3.zoom_x += 0.01
          @sprite3.zoom_y += 0.01     
          @sprite.ox += 2
          @sprite.oy += 2
          @sprite2.ox += 2
          @sprite2.oy += 2
          @sprite3.ox += 2
          @sprite3.oy += 2   
        end
        update_slide
        Graphics.update 
      end
    end
  end

~ Démo ~

Le script nécessite des ressources externes. Je vous refile donc une démo' avec le nécessaire de fonctionnement.


Enjoy!



Dernière édition par Mist' le Ven 2 Mar 2012 - 22:14, édité 5 fois
XakuX
XakuX
Membre

Nombre de messages : 1263
Age : 25
Localisation : là où tu n'auras jamais l'idée de chercher !
Distinction : * Bougre d'âne


Le bizu' à son Coco' [RGSS3]MATS - MistAnimTitleScreen v.1.0 344805
[Coco' Smile]

Membre aux désirs inassouvis de domination mondiale. [Maître du destin]
Date d'inscription : 13/12/2008

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 15:08
L'image ne fait pas du tout envie mist', t'abuse x)
Mais sinon très bonne idée d'avoir refait ce script pour Ace Smile

Merci beaucoup du partage Wink
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 15:25
En mêm temps, j'suis pas graphiste, si tu te dévoues, j'te donne ce qu'il y a à faire et on refait une image. [RGSS3]MATS - MistAnimTitleScreen v.1.0 522164
Je l'améliorerais, j'pense à rajouter des trucs genre des transitions, et une autre alternative d'animation avec plusieurs images. Wink
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 29
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:06
effectivement je m'en servirais car j'ai aimer ce script sous VX
et vue que maintenant j'utilise Ace sa va m'être bien utile merci du partage Mist Smile
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:09
Tu peux pas mettre le script sur le forum en plus de la démo ?
C'est pratique pour y jeter un coup d'œil sans tout télécharger.
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:23
Berka, c'est posté! Wink
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:33
Ton script est bien codé, mais y'a un truc que tu pourrais simplifier:
Code:
if TWAVE == true
équivaut à
Code:
if TWAVE
Hésite pas non plus à faire des tableaux de sprites. C'est plus simple à gérer via des boucles et c'est plus souple à configurer.
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:38
Okay, je te remercie x)
J'vais commencer à travailler sur une V.2 de toutes façons, j'vais optimiser tout ça. Wink
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:39
Bon ça, tu fais des trucs en cachette [RGSS3]MATS - MistAnimTitleScreen v.1.0 522164
Mist' : Si tu savais Gummy'... x)
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 29
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 19:44
Je me suis permis Mist Wink

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Mats10

J'ai auss modifier la vitesse de déplacement vertical de l'image Plane2.png pour que je puisse en faire un Ecran titre Wink

download : MATS : Mist' Anim Title Screen
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 20:02
OMFG.
Light', t'es un roxxor. Merci beaucoup, ça mérite bien quelques points de participation! Wink
Je remplace dans l'en-tête!

EDIT : J'vais rajouter de quoi afficher le titre du projet sans bloquer les autres Planes Wink
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 29
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 20:11
Oki mist si ta besoin pour la prochaine version de quelque image fais moi signe il y a pas de souci Wink
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 20:13
Je te remercie, je te ferais signe alors! Wink
Shadow-clad
Shadow-clad
Membre

Nombre de messages : 510
Age : 29
Localisation : A durbuy normal j'en suis le maire ! ^^
Distinction : Survivant ultime de Koh Lanta : Erem Vehyx 2010
[Denis Coco' Smile]
Date d'inscription : 18/06/2010
http://redmoonlight.forumgratuit.org/forum.htm

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 22:06
en gros ca donne ca :

[RGSS3]MATS - MistAnimTitleScreen v.1.0 15267200377275_title_screen

je l'utilise maintenant car il est pas mal

parcontre les image de base ne sont pas bien centré quand on change de choix les ecritures bougent j'ai du les refaire

et comme je suis gentil voila le psd au moin il y a juste a modifier la police et le tour est joué !

http://www.mediafire.com/?l8tr1hjscmz29gi
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Dim 5 Fév 2012 - 22:43
Merci pour le PSD. Wink
Je sortirais une nouvelle version quand j'aurais un peu plus de temps à y consacrer, si y'a des suggestions, je suis preneur. x)
Anonymous
Invité
Invité

[RGSS3]MATS - MistAnimTitleScreen v.1.0 Empty Re: [RGSS3]MATS - MistAnimTitleScreen v.1.0

le Ven 1 Juin 2012 - 20:14
Vraiment bien ce script que je n'avait pas remarquer.
Par contre lorsque je commence mon jeu, l'écran titre apparaît d'un coup (suivie des planes normal) et quand je clique sur nouveau ou autres sa me passe au jeu d'un coup aussi, ça le fait pas trop mais on peut régler ça je suppose vu que sur la démo y'a une transition ?
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum