LODM (L'Oasis des Makers)

Forum d'étude sur le Making RMXP
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez
 

 Plus de 50 images avec RMXP

Aller en bas 
AuteurMessage
Roys
Guide
Guide
Roys

Nombre de messages : 111
Age : 47
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

Plus de 50 images avec RMXP Empty
MessageSujet: Plus de 50 images avec RMXP   Plus de 50 images avec RMXP Icon_minitimeSam 26 Mai - 4:42

Hello

Voici, enfin, une nouvelle commande pour RM, cette fois fini la limitation de 50 images/picture
Vous pouvez créé autant d'image que vous voulez, avec les memes options que sur RMXP
Et meme plus car vous pouvez déclarer le nom de votre image en fonction d une variable, par exemple pour afficher des fichier image1, image2 etc automatiquement en fonction du contenu de votre variable
Avec ce système vous pourrez facilement faire des animations d'image succéssives. Il vous suffit d'une variable et de la fonction "attendre" Smile entre 2 images....

Pour ceci LISEZ ATTENTIVEMENT les instructions en debut de code

N oubliez pas d'ajouter ce code avant toute chose
http://lodm.forumactif.com/Groupe-pour-Scripts-f4/Outils-pour-Event-Maker-f7/A-mettre-pour-ajouter-de-nouvelles-fonctions-t35.htm

Ajoutez un nouveau script Interpreter_Image

N'hésitez pas à poser vos questions et à tester
Code:
#============================================================================
# SCRIPT DE GESTION d'IMAGE
# Stephane Roys, Royer
# Mai 2007
# Projet: Petite Boite à outils pour aider les event makers

# Ce script permet de gèrer en event l'apparition d'autant d'imag/sprite que l'on veut
# car RMXP est limité a 50

#------------------------
# EXPLICATION (lire attentivement)
#------------------------
# CREER une image en event
#------------------------
# Faire inserer commentaire : Image Numero fichier ...
#  Remplacer numero par le numero de votre image (indépendant de la fonction image de RM)
#  Remplacer ... par le nom du fichier de votre image dans le repertoire Pictures (pas de guillement)

# Afficher une image en fonction d 1 variable
#------------------------
# Faire inserer commentaire : Image Numero varfichier ...
#  Remplacer  ... par le numero de la variable
#  La valeur de cette variable sera ajoutée apres le nom du fichier
#  par exemple Image 0 fichier Test varfichier 7
#    Affichera l'image Test0, Test1, Test2 etc en fonction de la valeur de la variable 7

# Changer les données de l'image
#------------------------
# Apres Image numero
# Vous pouvez ajouter les fonctions suivantes à n'importe quel moment

# Coordonnées
#------------------------
# Faire inserer commentaire :  Image Numero x ...
#  Remplacer ... par les coordonnées sur l'axe des x
# ex: Image 0 fichier Test x 320 ou si vous avez déja créé votre image : Image 0 x 320

# Faire inserer commentaire :  Image Numero y ...
#  Remplacer ... par les coordonnées sur l'axe des y

# Faire inserer commentaire :  Image Numero z ...
#  Remplacer ... par les coordonnées sur l'axe des z (priorité de l'image)
# z = 3000 au départ

# Si vous voulez determiner les coordonnées par des variables utiliser les commandes
# Image Numero varx ...
#  Remplacer ... par le numero de la variable que gère les coordonnées x
# Image Numero vary ...
#  Remplacer ... par le numero de la variable que gère les coordonnées x

# Determiner un zoom
#------------------------
# Faire inserer commentaire :  Image Numero zoomx ...
#  Remplacer ... par la valeur du zoom sur l'axe des x de -100 a 100

# Faire inserer commentaire :  Image Numero zoomy ...
#  Remplacer ... par la valeur du zoom sur l'axe des y de -100 a 100

# Divers
#------------------------
# Image 0 Opacite ...
#  Remplacer ... par l'opacite de votre image

# Image 0 Centre ...
#  Remplacer ... pour oui ou non. Si oui alors l'image sera centrée

#------------------------
# A tout moment vous pouvez appeler une de ces fonctions afin de changer la position et
# l'apparence de votre image
# Vous pouvez combinez les fonctions, par exemple:
# inserer commentaire :  Image Numero fichier test x 0 y 0

# EFFACER une image
#------------------------
# Faire inserer commentaire: Image ... efface
# Remplacer ... par le numero de l'image à effacer

#============================================================================
#- La sauvergarde est comprise dans le script. Donc apres un load votre jauge sera dans l'etat ou elle a été sauvée
#- Les images s'effacent toutes seuls quand vous sortez de la map vers un menu, et elles se recréent seules quand vous revenez sur la map
#==============================================================================
# Interpreter
# Permet d'ajouter une fonction un pas vers en commentaire dans un event
#==============================================================================
class Interpreter
  alias outil_image_command108 command_108

  def command_108
    # Commande non valide
    if not @parameters[0].split.size<3
      # Commande valide
      if @parameters[0].upcase[/IMAGE/]=="IMAGE"
        #----------------------
        # Recupère les parametres de la commande
        com=@parameters[0].split
        numero=com[1].to_i
        for i in 2..com.size-1
          # Commande créée
          if com[i].upcase=="FICHIER"
            if $game_party.images[numero]==nil
              $game_party.images[numero]=Image.new(numero,com[i+1])
            else
              $game_party.images[numero].fichier=com[i+1]
            end
            next
          end
          # Commande x
          if com[i].upcase=="X"
            $game_party.images[numero].x=com[i+1].to_i
            next
          end     
          # Commande variable pour x
          if com[i].upcase=="VARX"
            $game_party.images[numero].varx=com[i+1].to_i
            next
          end   
          # Commande variable pour y
          if com[i].upcase=="VARFICHIER"
            $game_party.images[numero].varfichier=com[i+1].to_i
            next
          end 
          # Commande variable pour y
          if com[i].upcase=="VARY"
            $game_party.images[numero].vary=com[i+1].to_i
            next
          end   
          # Commande y
          if com[i].upcase=="Y"
            $game_party.images[numero].y=com[i+1].to_i
            next
          end 
          # Commande z
          if com[i].upcase=="Z"
            $game_party.images[numero].z=com[i+1].to_i
            next
          end 
          # Commande zoomx
          if com[i].upcase=="ZOOMX"
            $game_party.images[numero].zoomx=com[i+1].to_f/100
            next
          end 
          # Commande zoomy
          if com[i].upcase=="ZOOMY"
            $game_party.images[numero].zoomy=com[i+1].to_f/100
            next
          end 
          # Commande Opacité
          if com[i].upcase=="OPACITE"
            $game_party.images[numero].opacite=com[i+1].to_i
            next
          end
          # Commande Centre
          if com[i].upcase=="CENTRE"
            $game_party.images[numero].centre=(com[i+1].upcase=="OUI")
            next
          end
          # Commande efface
          if com[i].upcase=="EFFACE"
            $game_party.images[numero].off=true
            next
          end
        end
        return true
      end
    end
    outil_image_command108
  end
end

#============================================================================
# JAUGE
# Créé le tableau des Jauges de Jeu
#============================================================================
class Game_Party
  attr_accessor:images
  alias image_game_party_initialize initialize
  #--------------------------------------------------------------------------
  # INITIALIZE
  #--------------------------------------------------------------------------
  def initialize
    image_game_party_initialize
    # Hash des jauges
    @images={}
  end
end

#============================================================================
# JAUGE
#============================================================================
class Image
 
  attr_accessor:fichier
  attr_accessor:varfichier
  attr_accessor:x
  attr_accessor:y
  attr_accessor:varx
  attr_accessor:vary
  attr_accessor:z
  attr_accessor:zoomx
  attr_accessor:zoomy
  attr_accessor:numero
  attr_accessor:centre
  attr_accessor:opacite
  attr_accessor:fin_image
 
  #--------------------------------------------------------------------------
  # INITIALIZE
  #--------------------------------------------------------------------------
  def initialize(numero,fichier)
    @fichier=fichier
    @varfichier=0
    @numero=numero
    @x=@y=0
    @z=3000
    @zoomx=1
    @zoomy=1
    @varx=0
    @vary=0
    @fin_image=false
    @centre=false
    @opacite=255
  end
  #--------------------------------------------------------------------------
  # OFF
  # Termine la jauge
  #--------------------------------------------------------------------------
  def off
    @fin_image=true
  end
end

#============================================================================
# ■ Spriteset Map
#============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  alias image_spriteset_map_initialize initialize
  alias image_spriteset_map_dispose dispose
  alias image_spriteset_map_update update
 
  #--------------------------------------------------------------------------
  # INITIALIZE
  #--------------------------------------------------------------------------
  def initialize
    # Créé les images
    @image_sprite={}
    for image in $game_party.images.values
      init_image(image)
    end
    image_spriteset_map_initialize
  end
  def init_image(image)
    sprite=Sprite.new
    text=(image.varfichier==0 ? image.fichier : image.fichier+$game_variables[image.varfichier].to_s)
    sprite.bitmap=RPG::Cache.picture(text)
    sprite.visible=true
    @temp_fichier=image.fichier
    @image_sprite[image]=sprite
  end

  #--------------------------------------------------------------------------
  # REFRESH
  #--------------------------------------------------------------------------
  def refresh_image(image,sprite)
    init_image(image) if @image_sprite[image]==nil
    sprite.x=(image.varx==0 ? image.x : $game_variables[image.varx])
    sprite.y=(image.vary==0 ? image.y : $game_variables[image.vary])
    sprite.z=image.z
    sprite.opacity=image.opacite
    sprite.zoom_x=image.zoomx
    sprite.zoom_y=image.zoomy
    if image.centre
      sprite.ox=sprite.bitmap.width/2
      sprite.oy=sprite.bitmap.height/2
    else
      sprite.ox=0
      sprite.oy=0
    end
  end

  #--------------------------------------------------------------------------
  # UPDATE
  #--------------------------------------------------------------------------
  def update
    image_spriteset_map_update
    #-----------------------------
    # Update l image
    delete_image=[]
    for image in  $game_party.images.values
      # Affiche l image
      update_image(image, @image_sprite[image])
      # Observe si l image est disposée
      delete_image.push[image] if image.fin_image
    end
    #-----------------------------
    # Dispose l image
    for image in delete_image
      $game_party.images.delete(image.numero)
      @image_sprite.delete(image).dispose
    end
  end
 
  #--------------------------------------------------------------------------
  # UPDATE JAUGE
  #--------------------------------------------------------------------------
  def update_image(image,sprite)
    #-----------------------------
    # Recalcule la jauge
    refresh_image(image,sprite)
    # Si le fichier a change
    if @temp_fichier!=image.fichier or image.varfichier!=0
      text=(image.varfichier==0 ? image.fichier : image.fichier+$game_variables[image.varfichier].to_s)
      sprite.bitmap=RPG::Cache.picture(text)
      @temp_fichier=image.fichier
    end
  end
 
  #--------------------------------------------------------------------------
  # DISPOSE
  #--------------------------------------------------------------------------
  def dispose
    image_spriteset_map_dispose
    for sprite in @image_sprite
      sprite.dispose
    end
  end
end


Dernière édition par le Sam 21 Juil - 1:30, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lodm.forumactif.com
Orion

Orion

Nombre de messages : 1
Projet Principal : Moon Aura & Drein-The Curse for Aelis
Date d'inscription : 17/07/2007

Plus de 50 images avec RMXP Empty
MessageSujet: Re: Plus de 50 images avec RMXP   Plus de 50 images avec RMXP Icon_minitimeMar 17 Juil - 16:32

Bonjour Smile ,

Je post ici pour mentionner un problème que j'ai rencontré concernant ce script. Ce problème est que je ne suis pas capable d'afficher plus de 1 image à la fois(même si les images ont un ID et une position sur l'axe des z différentes l'unes des autres) sans compter celles affichées avec la Commande Afficher Image.

J'ai bien installé le script Interpreter 2 avant tous les autres scripts custom...mais mes capacités en scriptage ne sont pas assez élevées pour régler le problème d'affichage moi-même.Mad

Exemple d'un event avec les commandes:

<>Commentaire : Image 1 Fichier dray.png x 320 y 240 z 3000
<>Commentaire : Image 2 Fichier curseur.png x 200 y 300 z 2000
<>Commentaire : Image 3 Fichier commandes.png x 100 y 100 z 1000

J'ai un CMS ayant un nombre d'images qui dépasse la centaine, dont je dois suspendre la création jusqu'à résolution du problème donc si on pouvait m'expliquer l'erreur que j'aurais faite ou régler la configuration du script, j'en serait bien reconnaissant.

Merci d'avance
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mekel
Chercheur
Mekel

Nombre de messages : 2
Age : 30
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : Charamaking
Date d'inscription : 25/02/2007

Plus de 50 images avec RMXP Empty
MessageSujet: Re: Plus de 50 images avec RMXP   Plus de 50 images avec RMXP Icon_minitimeMer 18 Juil - 23:45

Salut à toi, au cas où tu ne l'aurai pas encore remarquer le forum a était déplacé ici :
http://rpgmxpstudio.pellnet.ch/lataverne/
Pour plus d'info passe dans la section annonce de ce forum.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




Plus de 50 images avec RMXP Empty
MessageSujet: Re: Plus de 50 images avec RMXP   Plus de 50 images avec RMXP Icon_minitime

Revenir en haut Aller en bas
 
Plus de 50 images avec RMXP
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» problème avec Défilement d'images avec liens (partenaires) :
» Problèmes d'images avec Internet Explorer
» [résolu]Ajouter un lien à une Images dans un widget du portail, avec changement de l'image au survol de la sourie.
» Problème avec les images en spoiler.
» Portail, comment faire un widget personnalisé avec images, couleurs..

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
LODM (L'Oasis des Makers) :: Groupe pour Scripts :: Outils pour Event-Maker-
Sauter vers: