Partagez
Aller en bas
elrira
elrira
Membre

Nombre de messages : 3
Distinction : aucune
Date d'inscription : 18/01/2013

Script d'options en écran titre Empty Script d'options en écran titre

le Mer 30 Jan 2013 - 1:49
Bonjour je viens vers vous solliciter votre aide car j'ai beau chercher et réfléchir je n'arrive pas a résoudre mon problème :

Voila le script en question : http://yanflychannel.wordpress.com/rmvxa/menu-scripts/system-options/

en gros il permet en jeu lorsque l'on fait echap d'avoir au lieu de " quitter " un System d'option , jusque la rien de compliquer pour l'implanter mais le problème c'est que je voudrais aussi que en écran titre j'ai "nouveau,continuer,option;quitter" afin que , quand je sélectionne option j'ouvre la fenêtre comme en jeu .
Jusque la j'ai réussi a ajouté une ligne de l'écran titre pour option mais n'arrive pas a faire appeler ce script pourriez vous m'aider merci .


P-S : j'utilise ceci en écran titre http://atelier-rgss.com/RGSS/Menu/ACE_Menu13.html mais si déjà je pouvais faire ceci sur un écran titre de base sa serait pas mal


Merci à vous .
elrira
elrira
Membre

Nombre de messages : 3
Distinction : aucune
Date d'inscription : 18/01/2013

Script d'options en écran titre Empty Re: Script d'options en écran titre

le Mar 5 Fév 2013 - 0:32
Je lance un petit up car je n'arrive toujours pas a résoudre mon problème Sad
Kayss
Kayss
Membre

Nombre de messages : 68
Age : 29
Distinction : aucune
Date d'inscription : 03/02/2013
http://www.reparation-iphone-lille.fr/

Script d'options en écran titre Empty Re: Script d'options en écran titre

le Mar 5 Fév 2013 - 10:45
Alors voilà :

Code:
#==============================================================================
# +++ MOG - Madoka Title Screen (v1.0) +++ /人◕ ‿‿ ◕人\
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Tela de titulo animado com o tema do anime Puella Magi Madoka Magica.
# Naturalmente você pode colocar qualquer personagem.
#==============================================================================
module MOG_MADOKA_TITLE_SCREEN
  #Posição do titulo.
  TITLE_POSITION = [40,270]
  #Velocidade de deslize da imagem de fundo.
  BACKGROUND_SCROLL_SPEED = [1,0]
  #Posição do circulo mágico
  CIRCLE_POSITION = [-30,-30]
  #Valor do zoom do circulo mágico. (Valores altos causam Lag)
  CIRCLE_ZOOM_RANGE = 3
  #Definição do tipo de blend do circulo mágico.
  CIRCLE_BLEND_TYPE = 0
  #Imagens dos characteres que terão o efeito de Zoom.
  # CHARACTES_SPRITES_ZOOM_EFFECT = [0,2,5]
  CHARACTES_SPRITES_ZOOM_EFFECT = [0]
  #Prioridade dos personagens 
  CHARACTER_Z = 10
  # Ativar Partículas.
  PARTICLES = true
  # Numero de partículas.
  PARTICLE_NUMBER = 15
  # Ativar Cores Aleatórias.
  PARTICLE_RANDOM_COLOR = false
  # Definição do tipo de blend. (0,1,2)
  PARTICLE_BLEND_TYPE = 0
  #Definição do limite de velocidade das partículas.
  PARTICLE_MOVEMENT_RANGE_X = 0
  PARTICLE_MOVEMENT_RANGE_Y = 3
  PARTICLE_ANGLE_RANGE = 3 
  PARTICLE_Z = 25
  #Posição do comando
  COMMAND_POSITION = [20,50]
  #Prioridade do comando
  COMMNAND_Z = 100
end

#==============================================================================
# ■ Particle Title
#==============================================================================
class Particle_Title < Sprite
 
  include MOG_MADOKA_TITLE_SCREEN
 
 #--------------------------------------------------------------------------
 # ● Initialize
 #--------------------------------------------------------------------------           
  def initialize(viewport = nil)
      super(viewport)
      self.bitmap = Cache.title1("Particle")
      self.tone.set(rand(255),rand(255), rand(255), 255) if PARTICLE_RANDOM_COLOR
      self.blend_type = PARTICLE_BLEND_TYPE
      self.z = PARTICLE_Z
      @cw = self.bitmap.width
      @ch = self.bitmap.height
      @nx = PARTICLE_MOVEMENT_RANGE_X
      @ny = PARTICLE_MOVEMENT_RANGE_Y
      reset_setting
  end 
 
 #--------------------------------------------------------------------------
 # ● Reset Setting
 #--------------------------------------------------------------------------             
  def reset_setting
      zoom = (50 + rand(100)) / 100.1
      self.zoom_x = zoom
      self.zoom_y = zoom
      self.x = (rand(576) -32)
      self.y = rand(448 + @ch)
      self.opacity = 0
      self.angle = rand(360)
      nx2 = rand(@nx).abs
      nx2 = 1 if (@nx != 0 and nx2 < 1)     
      @speed_x = @nx > 0 ? nx2 : @nx < 0 ? -nx2 : 0       
      ny2 = rand(@ny).abs
      ny2 = 1 if (@ny != 0 and ny2 < 1)     
      @speed_y = @ny > 0 ? ny2 : @ny < 0 ? -ny2 : 0 
      @speed_a = [[rand(PARTICLE_ANGLE_RANGE), PARTICLE_ANGLE_RANGE].min, 0].max
  end
 
 #--------------------------------------------------------------------------
 # ● Dispose
 #--------------------------------------------------------------------------             
  def dispose
      super
      self.bitmap.dispose
  end 
 
 #--------------------------------------------------------------------------
 # ● Update
 #--------------------------------------------------------------------------             
  def update
      super
      self.x += @speed_x
      self.y -= @speed_y
      self.angle += @speed_a     
      self.opacity += 5
      reset_setting if can_reset_setting?
  end 
 
 #--------------------------------------------------------------------------
 # ● Can Reset Setting
 #--------------------------------------------------------------------------               
  def can_reset_setting?
      return true if (self.x < -64 or self.x > 592)   
      return true if (self.y < -164 or self.y > 464)
      return false
  end 
end


#==============================================================================
# ■ Scene Title
#==============================================================================
class Scene_Title < Scene_Base
 include MOG_MADOKA_TITLE_SCREEN
 
 #--------------------------------------------------------------------------
 # ● Start
 #--------------------------------------------------------------------------         
 def start
    super
    SceneManager.clear
    play_title_music
    @phase = 0
    @skip_wait = 0
    create_srites
 end   
 
 #--------------------------------------------------------------------------
 # ● トランジション速度の取得
 #--------------------------------------------------------------------------
 def transition_speed
    return 20
 end
 
 #--------------------------------------------------------------------------
 # ● Terminate
 #--------------------------------------------------------------------------
 def terminate
    super
    execute_dispose
 end
   
 #--------------------------------------------------------------------------
 # ● Update
 #--------------------------------------------------------------------------           
 def update
    super
    execute_update
 end

 #--------------------------------------------------------------------------
 # ● Create Sprites
 #--------------------------------------------------------------------------           
 def create_srites
    execute_dispose
    create_background
    create_characters_sprites
    create_title_name
    create_magic_circle
    create_particles
    create_commands
 end
 
 #--------------------------------------------------------------------------
 # ● Create Commands
 #--------------------------------------------------------------------------         
 def create_commands
    @command_wait = false
    @command_index = 0
    @command_index = 1 if DataManager.save_file_exists?
    @commands = []
    index = 0
    for i in 0..2
        @commands[index] = Sprite.new
        if index == 1 and !DataManager.save_file_exists?
            @commands[index].bitmap = Cache.title1("Command" + index.to_s + "B")
        else 
            @commands[index].bitmap = Cache.title1("Command" + index.to_s)
        end   
        @commands[index].z = COMMNAND_Z
        @commands[index].ox = @commands[index].bitmap.width / 2
        @commands[index].oy = @commands[index].bitmap.height / 2
        @commands[index].x = COMMAND_POSITION[0] + @commands[index].ox
        @commands[index].y = COMMAND_POSITION[1] + @commands[index].oy
        @commands[index].opacity = 0
        index += 1
    end
 end
 
 #--------------------------------------------------------------------------
 # ● Create Background
 #--------------------------------------------------------------------------           
 def create_background
    @background = Plane.new
    @background.bitmap = Cache.title1("Background")
    @background.z = 0
 end 
 
 #--------------------------------------------------------------------------
 # ● Create Title Name
 #--------------------------------------------------------------------------             
 def create_title_name
    @title_name_effect = [0,30]
    @title_name = Sprite.new
    @title_name.bitmap = Cache.title1("Title_Name")
    @title_name.z = 301
    @title_name.opacity = 255
    @title_name.blend_type = 0
    @title_name.ox = @title_name.bitmap.width / 2
    @title_name.oy = @title_name.bitmap.height / 2
    @title_name.x = TITLE_POSITION[0] + @title_name.ox
    @title_name.y = TITLE_POSITION[1] + @title_name.oy
 end
 
 #--------------------------------------------------------------------------
 # ● Create Magic Circle
 #--------------------------------------------------------------------------             
 def create_magic_circle
    @magic_circle = Sprite.new
    @magic_circle.bitmap = Cache.title1("Magic_Circle")
    @magic_circle.z = 100
    @magic_circle.ox = @magic_circle.bitmap.width / 2
    @magic_circle.oy =@magic_circle.bitmap.height / 2
    @magic_circle.x = @magic_circle.ox - CIRCLE_POSITION[0]
    @magic_circle.y = @magic_circle.oy - CIRCLE_POSITION[1]
    @magic_circle.z = 3
    @magic_circle.zoom_x = CIRCLE_ZOOM_RANGE
    @magic_circle.zoom_y = CIRCLE_ZOOM_RANGE
    @magic_circle.opacity = 0
    @magic_circle.blend_type = CIRCLE_BLEND_TYPE
 end 
 
 #--------------------------------------------------------------------------
 # ● Create Characters Sprites
 #--------------------------------------------------------------------------             
 def create_characters_sprites
    @magic_girls_appear_duration = 0
    @magic_girl_index = 0
    @magic_girls = []
    @magic_girls
    index = 0
    for i in 0..999
        @magic_girls[i] = Sprite.new
        @magic_girls[i].bitmap = Cache.title1("Character" + index.to_s) rescue nil
        if @magic_girls[i].bitmap == nil
            @magic_girls[i].dispose
            @magic_girls.delete(index)
            break
        end 
        @magic_girls[i].z = CHARACTER_Z + index
        @magic_girls[i].opacity = 0
        @magic_girls[i].ox = @magic_girls[i].bitmap.width / 2
        @magic_girls[i].oy = @magic_girls[i].bitmap.height / 2
        @magic_girls[i].x = @magic_girls[i].ox
        @magic_girls[i].y = @magic_girls[i].oy
        if CHARACTES_SPRITES_ZOOM_EFFECT.include?(index)
            @magic_girls[i].zoom_x = 1.5
            @magic_girls[i].zoom_y = 1.5
        end 
        index += 1
      end
      @magic_girls.pop
 end 
 
  #--------------------------------------------------------------------------
  # ● Create Particles
  #-------------------------------------------------------------------------- 
  def create_particles
      return if !PARTICLES
      @viewport_light = Viewport.new(-32, -32, 600, 480)
      @viewport_light.z = PARTICLE_Z
      @particles_bitmap =[]
      for i in 0...PARTICLE_NUMBER
          @particles_bitmap.push(Particle_Title.new, @viewport_light)
      end 
  end
   
 #--------------------------------------------------------------------------
 # ● Execute Dispose
 #--------------------------------------------------------------------------             
 def execute_dispose
    dispose_background
    dispose_title_name
    dispose_characters
    dispose_particles
    dispose_commands
    dispose_circle
 end 
 
 #--------------------------------------------------------------------------
 # ● Dispose Background
 #--------------------------------------------------------------------------             
 def dispose_background
    return if @background == nil
    @background.bitmap.dispose
    @background.dispose
    @background = nil
 end

 #--------------------------------------------------------------------------
 # ● Dispose Title Name
 #--------------------------------------------------------------------------             
 def dispose_title_name
    return if  @title_name == nil
    @title_name.bitmap.dispose
    @title_name.dispose
    @title_name = nil
 end 
 
 #--------------------------------------------------------------------------
 # ● Dispose Characters
 #--------------------------------------------------------------------------             
 def dispose_characters
    return if @magic_girls == nil
    for i in @magic_girls
        if i.bitmap != nil
            i.bitmap.dispose
        end 
        i.dispose
    end 
    @magic_girls = nil       
 end 
 
 #--------------------------------------------------------------------------
 # ● Dispose Particles
 #--------------------------------------------------------------------------             
  def dispose_particles
      return if @particles_bitmap == nil
      @particles_bitmap.each {|sprite| sprite.dispose }
      @particles_bitmap = nil
      @viewport_light.dispose
  end 
 
 #--------------------------------------------------------------------------
 # ● Dispose Command
 #--------------------------------------------------------------------------               
  def dispose_commands
      return if @commands == nil
      @commands.each {|sprite| sprite.dispose }
      @commands = nil
  end
 
 #--------------------------------------------------------------------------
 # ● Dispose Circle
 #--------------------------------------------------------------------------               
 def dispose_circle
    return if @magic_circle == nil
    @magic_circle.bitmap.dispose
    @magic_circle.dispose
    @magic_circle = nil
 end 
 
 #--------------------------------------------------------------------------
 # ● Execute Update
 #--------------------------------------------------------------------------             
 def execute_update
    update_characters
    update_title_name
    update_magic_circle
    update_particles
    update_command
    update_background
 end
 
 #--------------------------------------------------------------------------
 # ● Create Background
 #--------------------------------------------------------------------------             
 def update_background
    return if @background == nil
    @background.ox += BACKGROUND_SCROLL_SPEED[0]
    @background.oy += BACKGROUND_SCROLL_SPEED[1]   
 end
 
 #--------------------------------------------------------------------------
 # ● Update Characters
 #--------------------------------------------------------------------------             
 def update_characters
    return if @magic_girls == nil
    index = 0
    for i in @magic_girls
        update_magic_girls(i,index)
        index += 1
    end   
 end 
 
 #--------------------------------------------------------------------------
 # ● Update Magic Girls
 #--------------------------------------------------------------------------               
 def update_magic_girls(i,index)
    return if @magic_girl_index != index
    update_zoom_effect(i,index) if CHARACTES_SPRITES_ZOOM_EFFECT.include?(index)
    update_opactiy_effect(i,index)
 end 
 
 #--------------------------------------------------------------------------
 # ● Update Opacity Effect
 #--------------------------------------------------------------------------               
 def update_opactiy_effect(i,index)
    i.opacity += 5
    return if i.opacity < 255
    i.zoom_x = 1.00
    i.zoom_y = 1.00       
    @magic_girl_index += 1
    if @magic_girl_index == @magic_girls.size
        @phase = 1
        clear_command_sprites
    end 
 end
 
 #--------------------------------------------------------------------------
 # ● Update Zoom Effect
 #--------------------------------------------------------------------------               
 def update_zoom_effect(i,index)
    if i.zoom_x > 1.00
        i.zoom_x -= 0.01
        i.zoom_y -= 0.01
        if i.zoom_x < 1.00
          i.zoom_x = 1.00
          i.zoom_y = 1.00 
        end
    end   
 end 

 #--------------------------------------------------------------------------
 # ● Update Title Name
 #--------------------------------------------------------------------------                 
 def update_title_name
    return if @phase != 1
    return if @title_name == nil   
    @title_name.opacity += 5
    return if @title_name.opacity < 255
    @phase = 2
 end
 
 #--------------------------------------------------------------------------
 # ● Update Magic Circle
 #--------------------------------------------------------------------------                 
 def update_magic_circle
    return if @magic_circle == nil
    @magic_circle.angle += 1
 end 

 #--------------------------------------------------------------------------
 # ● Update Particles
 #--------------------------------------------------------------------------             
 def update_particles
    return if @particles_bitmap == nil   
    @particles_bitmap.each {|sprite| sprite.update }
 end

 #--------------------------------------------------------------------------
 # ● Update Command
 #--------------------------------------------------------------------------             
 def update_command
    return if @commands == nil
    update_skip_all
    index = 0
    return if @phase != 2
    update_key
    @magic_circle.opacity += 5
    for i in @commands
        if @command_index == index
            update_command_select1(i,index)
        else
            update_command_select2(i,index)
        end 
        index += 1
    end     
 end 
 
 #--------------------------------------------------------------------------
 # ● Update Key
 #--------------------------------------------------------------------------               
 def update_key
    return if @skip_wait > 0
    update_select_command
    return if @command_wait
    if Input.press?(:RIGHT) or Input.press?(:DOWN)
        add_index(1)
    elsif Input.press?(:LEFT) or Input.press?(:UP)
        add_index(-1)
    end 
 end
 
 #--------------------------------------------------------------------------
 # ● Add Index
 #--------------------------------------------------------------------------               
 def add_index(value)
    Sound.play_cursor
    index = @command_index
    index += value
    index = 0 if index > 2
    index = 2 if index < 0
    @command_index = index
 end
 
 #--------------------------------------------------------------------------
 # ● Update Select Command
 #--------------------------------------------------------------------------               
 def update_select_command
    if Input.trigger?(:C) 
      case @command_index
          when 0             
            Sound.play_ok
            command_new_game
          when 1
            if DataManager.save_file_exists?
              command_continue
            else
              Sound.play_buzzer 
            end
            when 2
              Sound.play_ok
              command_options
#          when 3
#            Sound.play_ok
#            command_shutdown
          end
      end   
 end
       
 #--------------------------------------------------------------------------
 # ● Update Command Select 1
 #--------------------------------------------------------------------------               
 def update_command_select1(i,index)
    return if i.opacity == 255 and i.zoom_x == 1.00
    i.opacity += 7
    if i.zoom_x > 1.00
        i.zoom_x -= 0.01
        i.zoom_y -= 0.01
        @command_wait = true
        if i.zoom_x <= 1.00
          i.opacity = 255
          @command_wait = false
        end 
    end 
 end 
 
 #--------------------------------------------------------------------------
 # ● Update Command Select 2
 #--------------------------------------------------------------------------               
 def update_command_select2(i,index)
    return if i.opacity == 0
    i.opacity -= 7
    if i.zoom_x < 1.50
        i.zoom_x += 0.01
        i.zoom_y += 0.01
        i.opacity = 0 if i.zoom_x >= 1.50
    end           
 end 
 
  #--------------------------------------------------------------------------
  # ● Command New Game
  #--------------------------------------------------------------------------
  def command_new_game
      DataManager.setup_new_game
      fadeout_all
      $game_map.autoplay
      SceneManager.goto(Scene_Map)
  end
 
  #--------------------------------------------------------------------------
  # ● Command Continue
  #-------------------------------------------------------------------------- 
  def command_continue
      Sound.play_ok
      SceneManager.call(Scene_Load)
  end 
  #--------------------------------------------------------------------------
  # o Command Options
  #--------------------------------------------------------------------------
  def command_options
    Sound.play_ok
    SceneManager.call(Scene_System)
  end
  #--------------------------------------------------------------------------
  # ● Command Shutdown
  #-------------------------------------------------------------------------- 
 #--------------------------------------------------------------------------
 # ● Skip All
 #--------------------------------------------------------------------------               
 def update_skip_all
    @skip_wait -= 1 if @skip_wait > 0
    return if @phase > 1
    if Input.trigger?(:C) or Input.trigger?(:B)
        reset_main_sprites
        skip_sprite_effects
        clear_main_sprites
    end
 end 
 
 #--------------------------------------------------------------------------
 # ● Skip Sprites Effects
 #--------------------------------------------------------------------------               
 def skip_sprite_effects
    loop do
      @title_name.opacity += 10
      for i in @magic_girls
          i.opacity += 10
          if i.zoom_x > 1.00
              i.zoom_x -= 0.01
              i.zoom_y -= 0.01
          end 
      end
      break if @title_name.opacity >= 255
      Graphics.update
    end 
 end
     
 #--------------------------------------------------------------------------
 # ● Reset Main Sprites
 #--------------------------------------------------------------------------               
 def reset_main_sprites
    @title_name.opacity= 0
    for i in @magic_girls
        i.zoom_x = 1.00
        i.zoom_y = 1.00
    end     
 end
 
 #--------------------------------------------------------------------------
 # ● Clear All Sprites
 #--------------------------------------------------------------------------               
 def clear_main_sprites
    @title_name.opacity= 255
    for i in @magic_girls
        i.opacity = 255
        i.zoom_x = 1.00
        i.zoom_y = 1.00
    end 
    @magic_girl_index = @magic_girls.size + 1
    @phase = 2     
    clear_command_sprites
    @skip_wait = 10
    @command_wait = false
 end 
     
 #--------------------------------------------------------------------------
 # ● Clear Command Sprites
 #--------------------------------------------------------------------------                 
 def clear_command_sprites   
    index = 0
    for i in @commands
        if @command_index == index
            i.zoom_x = 1.50
            i.zoom_y = 1.50
            i.opacity = 0
        else 
            i.zoom_x = 1.50
            i.zoom_y = 1.50
            i.opacity = 0     
        end
        index += 1
    end   
  end 
 
end

$mog_rgss3_madoka_title_screen = true


Changes le script de mog par celui-ci ^^ ! (Dans un projet où System_Option existe Smile )
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum