Ecran titre personnalisé
Auteur : Samarium
Crédit : Facultatif
Date : 22/08/09
Modifié le : 23/08/09
Fonction : Affiche un animation en arrière plan et la commande de sélection est personnalisé.
Utilisation : A l'en-tête du script, veuillez mettre dans "ANIMATION_FOND", les séquences d'animation. Les images doivent être placée dans
Graphics/Titles. Dans "SELECTION", c'est les 3 images des commandes de sélection (Nouvelle partie, Continuer, Quitter). Les image doivent être aussi dans
Graphics/Titles. Les sons pour SON_TOUCHE_HAUT et SON_TOUCHE_BAS sont à placer dans
Audio/SE. Bien entendu, changez les noms pour entendre les sons.
Venant de la demande :
viewtopic.php?f=92&t=102518Installation : Placez le script au dessus du script "Main"
Scripts- Code: Tout sélectionner
=begin
-------------------------------------------
Ecran titre personnalisé
RPG Maker XP
Auteur : Samarium
Site de l'auteur : http://rpgcreative.net
Version : 1.1
Date : 22/08/09
Fonction : Affiche un animation en arrière plan et la commande de sélection est personnalisé.
Utilisation : A l'en-tête du script, veuillez mettre dans "ANIMATION_FOND", les séquences d'animation.
Les images doivent être placée dans Graphics/Titles. Dans "SELECTION", c'est les 3 images
des commandes de sélection (Nouvelle partie, Continuer, Quitter).
Les image doivent être aussi dans Graphics/Titles. Les sons pour SON_TOUCHE_HAUT et
SON_TOUCHE_BAS sont à placer dans Audio/SE
Libre de diffusion et de modification
-------------------------------------------
=end
### A modifié selon l'écran titre ###
# Animations image par image de l'arrière plan
ANIMATION_FOND = ["menu_p14", "menu_p15", "menu_p16", "menu_p17"]
# Cadence de l'animation
FRAME = 4
# Les 3 images pour les commandes de sélection
SELECTION = ["menu_p18", "menu_p19", "menu_p20"]
# Le son quand le joueur appuie sur la touche HAUT
SON_TOUCHE_HAUT = "Son01"
# Le son quand le joueur appuie sur la touche BAS
SON_TOUCHE_BAS = "Son02"
class Scene_Title
def main
if $BTEST
battle_test
return
end
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
# L'image de fond
@spriteBackground = Sprite.new
# Les différentes images de l'animation de fond
@titles = ANIMATION_FOND
# L'image de fond par défaut est la première du tableau
@spriteBackground.bitmap = RPG::Cache.title(@titles[0])
# Initialisation du nombre de frames
@frame = 0
# Variable d'itération dans le tableau
@i = 0
# L'image par défaut
@spriteChoix = Sprite.new
@spriteChoix.bitmap = RPG::Cache.title(SELECTION[0])
# Variable indiquant la position du curseur dans le choix
@index = 0
# Si on trouve une sauvegarde, on active la commande "Continuer"
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
# On joue la musique de l'écran titre
$game_system.bgm_play($data_system.title_bgm)
# Arrêt des effets sonores quand on arrive sur l'écran titre
Audio.me_stop
Audio.bgs_stop
# La boucle habituelle des mise à jours des entrées et sorties
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
# Suppression des Sprites et Bitmap à la fin de la scène
@spriteChoix.bitmap.dispose
@spriteChoix.dispose
@spriteBackground.dispose
@spriteBackground.bitmap.dispose
end
def update
# Diminue l'index de 1 si on appuie sur la touche HAUT
if Input.trigger?(Input::UP)
Audio.se_play("Audio/SE/" + SON_TOUCHE_HAUT)
@index -= 1
# Augmente l'index de 1 si on appuie sur la touche HAUT
elsif Input.trigger?(Input::DOWN)
Audio.se_play("Audio/SE/" + SON_TOUCHE_BAS)
@index += 1
end
# Si l'index dépasse les limites, on redonne des valeurs
if @index < 0
@index = 2
elsif @index > 2
@index = 0
end
# Selon l'index, on affiche la bonne image de fond
case @index
when 0
@spriteChoix.bitmap = RPG::Cache.title(SELECTION[0])
when 1
@spriteChoix.bitmap = RPG::Cache.title(SELECTION[1])
when 2
@spriteChoix.bitmap = RPG::Cache.title(SELECTION[2])
end
# Augmente la frame de 1
@frame += 1
if @frame >= FRAME
# On remet la variable frame à 0
@frame = 0
# Incrémentation de @i
@i += 1
# Si on dépasse la taille du tableau, on remet la variable d'itération à 0
if @i >= @titles.size
@i = 0
end
# On affiche la prochaine image dans le tableau
@spriteBackground.bitmap = RPG::Cache.title(@titles[@i])
end
# Quand le joueur appuie sur la touche Entrée sur une commande
if Input.trigger?(Input::C)
case @index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
end
end