Partagez
Aller en bas
avatar
Docteur Kojy.
Staffeux retraité

Nombre de messages : 1210
Age : 23
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté

Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself Smile]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008

[Résolu] Demande de modification du Scene Title Screen Miria V1.0 (écran titre animé) par moghunter

le Lun 1 Nov 2010 - 12:03
Bonjour à tous !
Voilà, j'ai besoin d'une ou deux modifications pour ce script :
Code:
##################################################
# Scene Title Screen Miria V1.0                                    #
##################################################
# By Moghunter
# http://www.atelier-rgss.com
##################################################
# Tela de titulo animada.
# Crie uma pasta com o nome deTitle dentro da pasta
# Graphics e coloque todas as imagens dentro dela.
# São necessárias as seguintes imagens.
#
# Title          #Imagem que contem o texto do titulo
# Transition    #Imagem da transição de tela
# Plane1        #Imagem da camada 1
# Plane2        #Imagem da camada 2
# Plane3        #Imagem da camada 3
# Com_01      #Imagem do menu seleção NEW GAME
# Com_02      #Imagem do menu seleção CONTINUE
# Com_03      #Imagem do menu seleção EXIT
#
#-------------------------------------------------
#############
#  CONFIG    #
#############
module MOG_VX01
#Ativar tela cheia.    (true = Ativar ou false = Desativar)
FULL_SCREEN = false
# Tempo de transição.
TT = 120
#Ativar movimento de Onda no texto do titulo.
# (true = Ativar ou false = Desativar)
TWAVE = false
#Opacidade da imagem camada 1.
TPLANE1_OPA = 255
#Opacidade da imagem camada 2.
TPLANE2_OPA = 255
#Opacidade da imagem camada 3
TPLANE3_OPA = 255
# Velocidade de movimento da camada 1 na horizontal.
TPLANE1_X = 1
# Velocidade de movimento da camada 1 na vertical.
TPLANE1_Y = 0
# Velocidade de movimento da camada 2 na horizontal.
TPLANE2_X =  8
# Velocidade de movimento da camada 2 na vertical.
TPLANE2_Y = 0
# Velocidade de movimento da camada 2 na horizontal.
TPLANE3_X = -8
# Velocidade de movimento da camada 2 na vertical.
TPLANE3_Y = 0
end
#-------------------------------------------------
$mogscript = {} if $mogscript == nil
$mogscript["title_miria"] = true
#-------------------------------------------------
###############
# Module Cache #
###############
module Cache
  def self.title(filename)
    load_bitmap("Graphics/Title/", filename)
  end
end
#############
# Scene_Title #
#############
$full_screen = 0
class Scene_Title
include  MOG_VX01
    def main
    if $BTEST                   
      battle_test                 
    return
    end   
    $full_screen += 1
    if MOG_VX01::FULL_SCREEN == true and $full_screen == 1
    $showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ' '
    $showm.call(18,0,0,0)
    $showm.call(13,0,0,0)
    $showm.call(13,0,2,0)
    $showm.call(18,0,2,0)
    end 
    start                     
    perform_transition       
    post_start                 
    Input.update             
    loop do
      Graphics.update         
      Input.update             
      update                   
      break if $scene != self 
    end
    Graphics.update
    pre_terminate             
    Graphics.freeze           
    terminate                 
  end
  def start
    load_database                 
    create_game_objects         
    check_continue                 
    create_title_graphic         
    create_command_window     
    play_title_music             
  end
  def perform_transition
    Graphics.transition(TT , "Graphics/Title/Transition")
  end
  def post_start
    open_command_window
  end
  def pre_terminate
    close_command_window
  end
  def terminate
    dispose_command_window
    snapshot_for_background
    dispose_title_graphic
  end
  def update
    @command_window.update
    case @command_window.index
    when 0
    @com.bitmap = Cache.title("Com_01")
    when 1
    @com.bitmap = Cache.title("Com_02")
    when 2
    @com.bitmap = Cache.title("Com_03")
  end   
    @sprite_title.opacity += 2
    @com.opacity += 2 if @sprite_title.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
    @sprite_title.update if TWAVE == true
    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 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
    @sprite_title.update if TWAVE == true 
  end
  def load_database
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes      = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items        = load_data("Data/Items.rvdata")
    $data_weapons      = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies      = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas        = load_data("Data/Areas.rvdata")
  end
  def load_bt_database
    $data_actors        = load_data("Data/BT_Actors.rvdata")
    $data_classes      = load_data("Data/BT_Classes.rvdata")
    $data_skills        = load_data("Data/BT_Skills.rvdata")
    $data_items        = load_data("Data/BT_Items.rvdata")
    $data_weapons      = load_data("Data/BT_Weapons.rvdata")
    $data_armors        = load_data("Data/BT_Armors.rvdata")
    $data_enemies      = load_data("Data/BT_Enemies.rvdata")
    $data_troops        = load_data("Data/BT_Troops.rvdata")
    $data_states        = load_data("Data/BT_States.rvdata")
    $data_animations    = load_data("Data/BT_Animations.rvdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
    $data_system        = load_data("Data/BT_System.rvdata")
  end
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_message      = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables    = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.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
  end
  def check_continue
    @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  end
  def create_title_graphic
    @sprite_title = Sprite.new 
    @sprite_title.bitmap = Cache.title("Title")
    @sprite_title.opacity = 0
    @com = Sprite.new
    @com.bitmap = Cache.title("Com_01")
    @com.opacity = 0
    @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
    @com.z = 4
    @sprite_title.z = 5 
  if TWAVE == true
    @sprite_title.wave_amp = 8
    @sprite_title.wave_length = 240
    @sprite_title.wave_speed = 320
  end
    end
  def dispose_title_graphic
    @sprite.bitmap.dispose
    @sprite2.bitmap.dispose
    @sprite3.bitmap.dispose 
    @com.bitmap.dispose 
    @sprite_title.bitmap.dispose
    @sprite.dispose
    @sprite2.dispose
    @sprite3.dispose
    @com.dispose 
    @sprite_title.dispose
  end
  def create_command_window
    s1 = Vocab::new_game
    s2 = Vocab::continue
    s3 = Vocab::shutdown
    @command_window = Window_Command.new(172, [s1, s2, s3])
    @command_window.opacity = 0
    @command_window.contents_opacity = 0
    if @continue_enabled               
      @command_window.index = 1         
    else                           
      @command_window.draw_item(1, false)
    end
  end
  def title_fade
  if TWAVE == true 
    @sprite_title.wave_amp = 34
    @sprite_title.wave_length =120
    @sprite_title.wave_speed = 800
    end 
    for i in 0..120
    @sprite_title.opacity -= 3 
    @sprite_title.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
  def dispose_command_window
    @command_window.dispose
  end
  def open_command_window
    @command_window.open
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 255
  end
  def close_command_window
    @command_window.close
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 0
  end
  def play_title_music
    $data_system.title_bgm.play
    RPG::BGS.stop
    RPG::ME.stop
  end
  def confirm_player_location
    if $data_system.start_map_id == 0
      print "プレイヤーの初期位置が設定されていません。"
      exit
    end
  end
  def command_new_game
    confirm_player_location
    Sound.play_decision
    title_fade
    $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
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    close_command_window
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
  def command_continue
    if @continue_enabled
      Sound.play_decision
      title_fade
      $scene = Scene_File.new(false, true, false)
    else
      Sound.play_buzzer
    end
  end
  def command_shutdown 
    Sound.play_decision
    title_fade
    RPG::BGM.fade(800)
    RPG::BGS.fade(800)
    RPG::ME.fade(800)
    $scene = nil
  end
  def battle_test
    load_bt_database           
    create_game_objects     
    Graphics.frame_count = 0       
    $game_party.setup_battle_test_members
    $game_troop.setup($data_system.test_troop_id)
    $game_troop.can_escape = true
    $game_system.battle_bgm.play
    snapshot_for_background
    $scene = Scene_Battle.new
  end
  def snapshot_for_background
    $game_temp.background_bitmap.dispose
    $game_temp.background_bitmap = Graphics.snap_to_bitmap
    $game_temp.background_bitmap.blur
  end
  end

Il me permet de créer un écran titre animé, et ce en utilisant des images présentes dans mon dossier "title".
Ces images portent le nom de : Plane1, Plane2, Plane3, Com_01, Com_02, Com_03, Title. (toutes ces images sont nécessaires pour fonctionner, ainsi qu'une transition)
Mais mon auguste personne souhaiterais que le jeu choisisse -à chaque fois qu'il est lancé- aléatoirement les images.
Bon, c'est pas très clair...

Je voudrais, par exemple, qu'au lieu d'avoir forcément Com_01 sur mon écran titre, j'ai :
1 chance sur 3 d'avoir Com_01, 1 chance sur 3 d'avoir Com_1a, 1 chance sur 3 d'avoir Com_1b

Et ça aussi pour Com_02, Com_03 et Title.

J'ai vraiment l'impression que mes explications sont pas claires. x) Si vous ne comprenez pas bien, dites le.
Merci d'avance ! : D


Dernière édition par Da Kojymaster. le Jeu 4 Nov 2010 - 19:48, édité 1 fois
avatar
Docteur Kojy.
Staffeux retraité

Nombre de messages : 1210
Age : 23
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté

Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself Smile]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008

Re: [Résolu] Demande de modification du Scene Title Screen Miria V1.0 (écran titre animé) par moghunter

le Mer 3 Nov 2010 - 21:25
Up.
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Re: [Résolu] Demande de modification du Scene Title Screen Miria V1.0 (écran titre animé) par moghunter

le Jeu 4 Nov 2010 - 10:37
Alors faisons simple :

juste avant le end du module MOG_VX01 , ajoute :
BEGSCREEN = rand(3)

Ensuite , remplacer la methode cache comme ceci :

###############
# Module Cache #
###############
module Cache
def self.title(filename)
new_filename = filename
if filename[0,3] == "Com"
new_filename = filename+'_'+MOG_VX01::BEGSCREEN.to_s
end
if filename[0,5] == "Title"
new_filename = filename+'_'+MOG_VX01::BEGSCREEN.to_s
end
load_bitmap("Graphics/Title/", new_filename)
end
end


Par contre , au niveau des noms de fichier , j'ai du changer un peu pour me simplifier la vie :
Com_01_0
Com_01_1
Com_01_2

Com_02_0
Com_02_1
Com_02_2

Com_03_0
Com_03_1
Com_03_2

Title_1
Title_2
Title_3

Remarque , y'a toujours moyen de rajouter 12 if pour mettre tes noms de fichiers .
avatar
Docteur Kojy.
Staffeux retraité

Nombre de messages : 1210
Age : 23
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté

Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself Smile]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008

Re: [Résolu] Demande de modification du Scene Title Screen Miria V1.0 (écran titre animé) par moghunter

le Jeu 4 Nov 2010 - 19:48
A première vue il marche, le seul truc qui m'a perturbé c'est qu'il faut renommer Title en Title_0, mais une fois que j'ai compris ça tout baigne.

Encore encore encore merci Dricc, tu vas finir par être classé co-créateur dans mes projets, à force de m'aider. o/
(En tout cas je pense que je trouverai une place pour ton chara-crédit dans l'un de mes jeu, tu l'as bien mérité. >w<)

Résolu ! =D
avatar
Dudu'
Staffeux retraité

Nombre de messages : 2060
Age : 27
Distinction : Apprenti KGB-boy en avenir
[Coco' Smile]
Hamsterphile de service ^^
[Balby' le Fake]
Grand prof de la MA
[Skillo]
Ce grand programmateur, mon coeur, ma vie ! [Hamu']
Date d'inscription : 22/06/2009

Re: [Résolu] Demande de modification du Scene Title Screen Miria V1.0 (écran titre animé) par moghunter

le Lun 8 Nov 2010 - 20:03
bon comme tu le fait pas je déplace x)
Contenu sponsorisé

Re: [Résolu] Demande de modification du Scene Title Screen Miria V1.0 (écran titre animé) par moghunter

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum