Title Animée en écran titre
Auteur : Fusion d'un script de Khemri et d'un autre script par Corbaque.
Utilisation :Il vous faut definir à la ligne
- Code: Tout sélectionner
anim_init(5, 2, true, "shirow")
les paramètres dans l'ordre :
- Le nombre de frames
- La vitesse
- En boucle : 'true' si l'animation doit tourner en boucle, 'false' si non.
- La base du nom des images de l'animation.
Vous devez avoir dans votre dossier Pictures une image du curseur nommée 'curseur' et les images de l'animation nommées selon la base du nom défini ci dessus et les numéro allant de 0 à nombre de frames - 1
Exemple avec :
anim_init(5, 2, true, "shirow")
Vous devez avoir les images :
- Code: Tout sélectionner
- shirow0
- shirow1
- shirow2
- shirow3
- shirow4
Script : - Code: Tout sélectionner
#===================================
# Scene_Title
#--------------------------------------------------------------
# Fond animé + curseur de selection
#--------------------------------------------------------------
# Fusioné par Corbaque le 15/09/2006
#===================================
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
anim_init(5, 2, true, "shirow")
s1 = "Nouvelle partie"
s2 = "Charger une partie"
s3 = "Quitter"
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
@curseur = Sprite.new
@curseur.bitmap = RPG::Cache.picture("curseur")
@curseur.x = 335
@curseur.y = 35
@curseur_index = 0
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
while $scene == self
animation
Graphics.update
Input.update
update
end
Graphics.freeze
@curseur.bitmap.dispose
@curseur.dispose
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
def update
if Input.repeat?(Input::UP)
$game_system.se_play($data_system.cursor_se)
if @curseur_index == 0
@curseur.x = 437
@curseur.y = 155
@curseur_index = 2
else
@curseur.x -= 51
@curseur.y -= 60
@curseur_index -= 1
end
end
if Input.repeat?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
if @curseur_index == 2
@curseur.x = 335
@curseur.y = 35
@curseur_index = 0
else
@curseur.x += 51
@curseur.y += 60
@curseur_index += 1
end
end
@command_window.update
if Input.trigger?(Input::C)
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
end
def command_new_game
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
def command_continue
unless @continue_enabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
end
def command_shutdown
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
def battle_test
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
def anim_init(nb_frame, vitesse, boucle, nom_image)
@nb_frame = nb_frame
@nom_image = nom_image
@vitesse = vitesse
@boucle = boucle
@compteur = 0
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.picture(@nom_image+"0")
end
def animation
for i in 0..@nb_frame-1
if @compteur == @vitesse * i
@sprite.bitmap = RPG::Cache.picture(@nom_image+i.to_s)
end
end
@compteur +=1
if @compteur == @vitesse * @nb_frame
if @boucle == true
@compteur = 0
else
@compteur -= 1
end
end
end
end