Partagez
Aller en bas
avatar
Djidane
Membre

Nombre de messages : 1444
Age : 25
Localisation : Paris
Distinction : Héritier d'Alexdream (mais on l'aime quand même).
Lèche cul professionnel
et il aime ça!!!
Date d'inscription : 30/12/2008

[résolu] Fond aléatoire avec le chargement de Berka .

le Dim 21 Mar 2010 - 13:24
Bonjours à tous



Mon problème : J'utilise le script de faux chargement de Berka qui est celui-ci :

Code:
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                          Chargement par Berka
#  Modifié par blockade
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  FOND = "fond" # image a placer dans le dossier system
  BARRE = "barre" # image a placer dans le dossier system
  DUREE = 8 # en secondes
  TEXTE = "Chargement en cours..." # texte a afficher
  X_BAR = nil #position x de la barre, nil par default
  Y_BAR = nil #position y de la barre, nil par default
  LONG = 400 #longueur de la barre
  HAUT = 28 #hauteur de la barre
  TITRE = true # afficher le nom du projet ?
  COULEUR_FOND = Color.new(0, 0, 0, 100) # couleur fond barre
  COULEUR_BARRE = Color.new(0, 0, 250, 255) # couleur barre
  BGM = "Special (3)"
 
class Scene_Chargement
  def main
    $bar , $b , $tps =0, 0, DUREE*60
    @fond = Sprite.new
    @barre = Sprite.new
    @barre.visible = false
    @fonb = Sprite.new
    @fond.bitmap = Cache.system(FOND) rescue @fond.bitmap = Bitmap.new(544, 416)
    @fenetre = Window_Barre.new(0, 0,544, 416)
    @barre.bitmap = Cache.system(BARRE) rescue nil
    @bgm = RPG::BGM.new(BGM)
    if X_BAR == nil or Y_BAR == nil
      @barre.x, @barre.y = (544-LONG)/2, 240
    else
      @barre.x, @barre.y = X_BAR, Y_BAR
    end
    @xb, @yb = @barre.x, @barre.y
    @fonb.bitmap = Bitmap.new(544, 416)
    Graphics.transition
    loop do
      Graphics.update       
      Input.update 
      update               
      break if $scene != self
    end
    Graphics.freeze
    @fond.dispose
    @fenetre.dispose
    @barre.dispose
  end
  def update
    @barre.visible = true
    if $tps > 0 and $bar <300
      $tps -= 1
    else
      $scene = Scene_Map.new# scene a executer a la fin du chargement
    end
    $b = LONG - LONG * $tps/(DUREE*60)
    @barre.src_rect.set(0, 0, $b , HAUT)
    @fonb.bitmap.fill_rect(@xb-1, @yb-1, LONG+2 , HAUT+2, COULEUR_FOND)
    @fond.update
    @fenetre.update
    @barre.update
    @bgm.play
  end
end

class Window_Barre < Window_Base
  def initialize(x, y, width, height)
    @width, @height = width, height
    super(x, y, @width, @height)
    self.opacity = 0
    refresh
  end
  def refresh
    self.contents.clear
    w = contents.text_size(TEXTE).width
    self.contents.draw_text(300, 350, w, WLH, TEXTE)
    tx = ($b.to_f/LONG)*100
    s = contents.text_size(tx.to_i.to_s + " %").width
    self.contents.draw_text((@width-s)/3+75, 225, s, WLH, tx.to_i.to_s + " %")
    t = $tps / Graphics.frame_rate
  end
  def update
    super
      refresh
  end
end



Comme vous le voyez , on peut regler le fond pendant le chargement . J'aimerais savoir quel est la portion de code qui me permettra d'avoir plusieurs fonds pendant les chargements et que ceux-ci s'affiche de façon aléatoire .


J'espère être le plus clair possible . Merci d'avance de votre aide Wink


Dernière édition par Djidane le Ven 26 Mar 2010 - 21:37, édité 1 fois
avatar
Azuma-01
Membre

Nombre de messages : 94
Age : 26
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

Re: [résolu] Fond aléatoire avec le chargement de Berka .

le Lun 22 Mar 2010 - 14:53
1) Met touts les noms des images dans un tableau.
Code:
Rand_Back = ["ima1", "ima2", "ima3"]
2) On lui dit que FOND = une valeur aléatoire du tableau précédent
Code:
FOND = Rand_Back[rand(Rand_Back.size)]
3) Regarde ton fond changer varier.
avatar
Djidane
Membre

Nombre de messages : 1444
Age : 25
Localisation : Paris
Distinction : Héritier d'Alexdream (mais on l'aime quand même).
Lèche cul professionnel
et il aime ça!!!
Date d'inscription : 30/12/2008

Re: [résolu] Fond aléatoire avec le chargement de Berka .

le Ven 26 Mar 2010 - 20:17
Merci pour ta réponse Azuma Wink

1) Je vais regarder sa

2) J'édit pour dire le resultat

3) Si c'est bon , je met [résolu]



EDIT : Problème , sa choisie bien un fond aléatoire pour une partie , mais sa reste le même pour tout les chargements .
Une solution ^^ ?
avatar
Berka
Administrateur

Nombre de messages : 1831
Age : 27
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

Re: [résolu] Fond aléatoire avec le chargement de Berka .

le Ven 26 Mar 2010 - 21:24
Normal que ca ne change pas. C'est le principe de la constante. Une variable varie, une constante... conste. Bref.

En gros, si tu utilises une constante, elle prend une seule valeur pour tout le jeu. Elle ne sera donc aléatoire que lors de son initialisation.

Il faut donc que tu remplaces la ligne:

Code:
@fond.bitmap = Cache.system(FOND) rescue @fond.bitmap = Bitmap.new(544, 416)

par:
Code:
[code]@fond.bitmap = Cache.system(Rand_Back[rand(Rand_Back.size)]) rescue @fond.bitmap = Bitmap.new(544[/code], 416)

en ayant mis dans les réglages comme disait Azuma:
Code:
Rand_Back = ["ima1", "ima2", "ima3"]

Bonne soirée !
avatar
Djidane
Membre

Nombre de messages : 1444
Age : 25
Localisation : Paris
Distinction : Héritier d'Alexdream (mais on l'aime quand même).
Lèche cul professionnel
et il aime ça!!!
Date d'inscription : 30/12/2008

Re: [résolu] Fond aléatoire avec le chargement de Berka .

le Ven 26 Mar 2010 - 21:28
Je vais tester sa . Une fois fait , je met le résolu Wink

EDIT : résolu , tu gère Berka Wink
Contenu sponsorisé

Re: [résolu] Fond aléatoire avec le chargement de Berka .

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