Partagez
Aller en bas
avatar
Medilu
Membre

Nombre de messages : 3
Distinction : aucune
Date d'inscription : 30/07/2016

Mettre une image sous le héros

le Sam 30 Juil 2016 - 18:26
Bonjour à tous,

Je cherche à résoudre un problème auquel je fais face dans rpg maker XV.
En effet, je cherche simplement à afficher plusieurs "couches" d'images, malheureusement en utilisant la fonction "afficher image", celle-ci s'affiche par dessus et j'aimerais qu'elle s'affiche sous le héros.

C'est un problème qui a déjà été évoqué ici et même résolu, notamment grâce à ce sujet : http://www.rpgmakervx-fr.com/t10984-résolu-afficher-une-image-en-dessous-du-heros mais je ne parviens pas à accéder au script d'un certain Dricc permettant de passer l'image en chara afin qu'elle s'affiche sous le héros.

Une âme charitable pour m'éclairer sur le sujet ou permettre l'accès à ce lien ? : http://www.rpgmakervx-fr.com/t10149-evenements-avec-charsets-simples car pour ma part j'ai ce message : "Désolé, mais seuls les utilisateurs avec un accès spécial peuvent lire des sujets dans ce forum."

Un grand merci !
avatar
Kingdommangas
Membre

Nombre de messages : 1168
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Re: Mettre une image sous le héros

le Sam 30 Juil 2016 - 22:28
Pour ton 2eme liens voici le contenu:

@dricc a écrit:J'ai un peu de mal à expliquer ce que fait ce script , j'avoue Smile J'éditerais si je trouve mieux .

Bon, vous savez que pour un evenement , on associe un charset .
Les charsets sont des planches de 4 * 2 personnage , chaque personnage etant lui-meme une planche de 3 * 4 .
Si on met un $ devant le nom , on met juste un seul personnage sur une planche de 3 * 4 .
Et bien si on met un = devant le nom au lieu d'un $ , on peux se contenter d'une image simple .

Bien evidement , votre evenement ne doit surtout pas etre mis en "animé à l'arret" et doit etre immobile .
Attention : ce n'est pas visible sur l'éditeur . Il faut lancer le jeu pour voir .

Techniquement , c'est une modification de 2 classes standard : Window_Base et surtout Sprite_Character . ça ne m'a pas pris plus d'un 1/4 d'heure Smile

Code:

    # image simples pour un evenement
    # Auteur :dricc
    # si vous créez un evenement et que vous lui associez une image appelée "=<nom que vous voulez>.png"
    # ce script fera en sorte que l'image soit affichée en entier (et pas un petit morceau)


    #==============================================================================
    # ** Window_Base
    #------------------------------------------------------------------------------
    #  This is a superclass of all windows in the game.
    #==============================================================================

    class Window_Base < Window
      #--------------------------------------------------------------------------
      # * Draw Character Graphic
      #    character_name  : Character graphic filename
      #    character_index : Character graphic index
      #    x    : draw spot x-coordinate
      #    y    : draw spot y-coordinate
      #--------------------------------------------------------------------------
      def draw_character(character_name, character_index, x, y)
        return if character_name == nil
        bitmap = Cache.character(character_name)
        sign = character_name[/^[\!\$\=]./]
        if sign != nil and sign.include?('$')
          cw = bitmap.width / 3
          ch = bitmap.height / 4
          n = character_index
          src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
          self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
        else
          if sign != nil and sign.include?('=')
            cw = bitmap.width
            ch = bitmap.height
            src_rect = Rect.new(1, 1, cw, ch)
            self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
          else
            cw = bitmap.width / 12
            ch = bitmap.height / 8
            n = character_index
            src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
            self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
          end
        end
      end
    end


    #==============================================================================
    # ** Sprite_Character
    #------------------------------------------------------------------------------
    #  This sprite is used to display characters. It observes a instance of the
    # Game_Character class and automatically changes sprite conditions.
    #==============================================================================

    class Sprite_Character < Sprite_Base
      def update_bitmap
        if @tile_id != @character.tile_id or
          @character_name != @character.character_name or
          @character_index != @character.character_index
          @tile_id = @character.tile_id
          @character_name = @character.character_name
          @character_index = @character.character_index
          if @tile_id > 0
            sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
            sy = @tile_id % 256 / 8 % 16 * 32;
            self.bitmap = tileset_bitmap(@tile_id)
            self.src_rect.set(sx, sy, 32, 32)
            self.ox = 16
            self.oy = 32
          else
            self.bitmap = Cache.character(@character_name)
            sign = @character_name[/^[\!\$\=]./]
            if sign != nil and sign.include?('$')
              @cw = bitmap.width / 3
              @ch = bitmap.height / 4
            else
              if sign != nil and sign.include?('=')
                @cw = bitmap.width
                @ch = bitmap.height
              else
                @cw = bitmap.width / 12
                @ch = bitmap.height / 8
              end
            end
            self.ox = @cw / 2
            self.oy = @ch
          end
        end
      end
    end
avatar
Medilu
Membre

Nombre de messages : 3
Distinction : aucune
Date d'inscription : 30/07/2016

Re: Mettre une image sous le héros

le Dim 31 Juil 2016 - 12:11
Bonjour,

Merci beaucoup, c'est exactement ce que je cherchais Smile
avatar
juniecrea
Membre

Nombre de messages : 11
Age : 29
Localisation : Limousin
Distinction : aucune
Date d'inscription : 06/09/2016
http://juniecrea.deviantart.com/

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 16:29
@Kingdommangas a écrit:Pour ton 2eme liens voici le contenu:

@dricc a écrit:J'ai un peu de mal à expliquer ce que fait ce script , j'avoue Smile J'éditerais si je trouve mieux .

Bon, vous savez que pour un evenement , on associe un charset .
Les charsets sont des planches de 4 * 2 personnage , chaque personnage etant lui-meme une planche de 3 * 4 .
Si on met un $ devant le nom , on met juste un seul personnage sur une planche de 3 * 4 .
Et bien si on met un = devant le nom au lieu d'un $ , on peux se contenter d'une image simple .

Bien evidement , votre evenement ne doit surtout pas etre mis en "animé à l'arret" et doit etre immobile .
Attention : ce n'est pas visible sur l'éditeur . Il faut lancer le jeu pour voir .

Techniquement , c'est une modification de 2 classes standard : Window_Base et surtout Sprite_Character . ça ne m'a pas pris plus d'un 1/4 d'heure Smile

Code:

    # image simples pour un evenement
    # Auteur :dricc
    # si vous créez un evenement et que vous lui associez une image appelée "=<nom que vous voulez>.png"
    # ce script fera en sorte que l'image soit affichée en entier (et pas un petit morceau)


    #==============================================================================
    # ** Window_Base
    #------------------------------------------------------------------------------
    #  This is a superclass of all windows in the game.
    #==============================================================================

    class Window_Base < Window
      #--------------------------------------------------------------------------
      # * Draw Character Graphic
      #    character_name  : Character graphic filename
      #    character_index : Character graphic index
      #    x    : draw spot x-coordinate
      #    y    : draw spot y-coordinate
      #--------------------------------------------------------------------------
      def draw_character(character_name, character_index, x, y)
        return if character_name == nil
        bitmap = Cache.character(character_name)
        sign = character_name[/^[\!\$\=]./]
        if sign != nil and sign.include?('$')
          cw = bitmap.width / 3
          ch = bitmap.height / 4
          n = character_index
          src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
          self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
        else
          if sign != nil and sign.include?('=')
            cw = bitmap.width
            ch = bitmap.height
            src_rect = Rect.new(1, 1, cw, ch)
            self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
          else
            cw = bitmap.width / 12
            ch = bitmap.height / 8
            n = character_index
            src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
            self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
          end
        end
      end
    end


    #==============================================================================
    # ** Sprite_Character
    #------------------------------------------------------------------------------
    #  This sprite is used to display characters. It observes a instance of the
    # Game_Character class and automatically changes sprite conditions.
    #==============================================================================

    class Sprite_Character < Sprite_Base
      def update_bitmap
        if @tile_id != @character.tile_id or
          @character_name != @character.character_name or
          @character_index != @character.character_index
          @tile_id = @character.tile_id
          @character_name = @character.character_name
          @character_index = @character.character_index
          if @tile_id > 0
            sx = (@tile_id / 128 % 2 * 8 + @tile_id %  * 32;
            sy = @tile_id % 256 / 8 % 16 * 32;
            self.bitmap = tileset_bitmap(@tile_id)
            self.src_rect.set(sx, sy, 32, 32)
            self.ox = 16
            self.oy = 32
          else
            self.bitmap = Cache.character(@character_name)
            sign = @character_name[/^[\!\$\=]./]
            if sign != nil and sign.include?('$')
              @cw = bitmap.width / 3
              @ch = bitmap.height / 4
            else
              if sign != nil and sign.include?('=')
                @cw = bitmap.width
                @ch = bitmap.height
              else
                @cw = bitmap.width / 12
                @ch = bitmap.height / 8
              end
            end
            self.ox = @cw / 2
            self.oy = @ch
          end
        end
      end
    end

je comprends pas ce qu'il faut faire (désolé je suis nul en script) : il faut remplacer quelque chose ou ajouter les lignes de scripts à la suite??
avatar
DragonFly
Membre

Nombre de messages : 512
Age : 17
Localisation : Sous l'escalier des Dursley : ) LOL
Distinction : Relou-man [Mist']
Mon 2eme plus grand fan [Yama']
Cuisto' Maker de la commu' [Gel']
Date d'inscription : 30/08/2016

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 16:47
Tu dois aller dans la partie script, tout en bas tu fais un clic droit sur "Insert here" tu appuis sur "Inserer" une nouvelle page s'ouvre juste en haut, tu mets le script à l'intérieur (copier coller), tu renomme le script en bas à gauche puis tu fais "OK". Tous simple quoi !
P.S: Tu l'as fait toi même l'image gif 3D?
avatar
juniecrea
Membre

Nombre de messages : 11
Age : 29
Localisation : Limousin
Distinction : aucune
Date d'inscription : 06/09/2016
http://juniecrea.deviantart.com/

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 17:28
Ah ok en fait fait faut rien remplacer lol je me disait aussi ^_^

P.S: Tu l'as fait toi même l'image gif 3D?

Oui j'ai fait un rendu 3D il y a peu avec Daz Studio et j'avais envie de faire GIF. Du coup, j'ai rendu mon projet en séquence d'image que j'ai aligné sur Photoshop avec quelques effets de lumière.
avatar
DragonFly
Membre

Nombre de messages : 512
Age : 17
Localisation : Sous l'escalier des Dursley : ) LOL
Distinction : Relou-man [Mist']
Mon 2eme plus grand fan [Yama']
Cuisto' Maker de la commu' [Gel']
Date d'inscription : 30/08/2016

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 17:45
Wooah impressionant, tu ferrais des artworks pas possible avec ce que tu sais faire, bravo, tu crois que te pourrais m'en faire quelques unes ? (pour mon projet)
avatar
juniecrea
Membre

Nombre de messages : 11
Age : 29
Localisation : Limousin
Distinction : aucune
Date d'inscription : 06/09/2016
http://juniecrea.deviantart.com/

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 17:55
@DragonFly a écrit:Wooah impressionant, tu ferrais des artworks pas possible avec ce que tu sais faire, bravo
J'en ai déja fait. Si tu veux, tu regarder mon DeviantArt : http://juniecrea.deviantart.com/

@DragonFly a écrit:tu crois que te pourrais m'en faire quelques unes ? (pour mon projet)
Si tu veux mais envoie moi des croquis de ce que tu veux exactement.

Alors çà marche mais mon image ne s'affiche pas de suite : il faut que je marche plus loin pour afficher l'image

Voilà un screen :

avatar
dricc
Membre

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

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 17:58
Il se trouve que je suis l'auteur de cette merveille Smile mais c'était y'a trés longtemps .

Je vois que tu as un script d'A-RPG . je ne serais pas surpris qu'il agisse sur les memes classes . Du coup ,il y aurait un soucis d'incompatibilité . Essaie de changer l'ordre des script pour voir .

Elle est censée etre où ton image , là ?
avatar
juniecrea
Membre

Nombre de messages : 11
Age : 29
Localisation : Limousin
Distinction : aucune
Date d'inscription : 06/09/2016
http://juniecrea.deviantart.com/

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 18:04
Du coup çà s'est arrangé : j'ai mis mon event en automatique et çà fonctionne la map s'affiche dès que je fais nouvelle partie. ^_^
avatar
DragonFly
Membre

Nombre de messages : 512
Age : 17
Localisation : Sous l'escalier des Dursley : ) LOL
Distinction : Relou-man [Mist']
Mon 2eme plus grand fan [Yama']
Cuisto' Maker de la commu' [Gel']
Date d'inscription : 30/08/2016

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 18:31
Merci Smile, je m'en souviendrai ,j'ai pas encore finis mon projet alors...
avatar
dricc
Membre

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

Re: Mettre une image sous le héros

le Mar 6 Sep 2016 - 18:34
Une map ?
Mon script n'est peut-etre pas la solution idéale pour faire ça alors .
Parce qu'un evenement en automatique , ce n'est pas terrible pour les perfs .

Tu as une fonction pour afficher des images , tu as vu ?
Le mieux est un evenement auto qui affiche l'image , passe son interupteur auto A à ON et un deuxieme onglet vide avec condition "interupteur auto A à on" .

En fait , le but de mon script est plutot d'économiser de l'espace disque ... pour ceux qui veulent afficher l'image d'un evenement qui ne bouge pas . Ils n'ont pas à multiplier par 12 la taille de l'image .

EDIT : pour te donner un exemple , j'ai fait ce script pour des personnages qui ne bougent jamais . On n'a pas besoin d'eux en train de marcher ou de se tourner . Un roi sur son trone par exemple .
avatar
juniecrea
Membre

Nombre de messages : 11
Age : 29
Localisation : Limousin
Distinction : aucune
Date d'inscription : 06/09/2016
http://juniecrea.deviantart.com/

Re: Mettre une image sous le héros

le Mer 7 Sep 2016 - 13:03
D'accord mais là je vois plus mon charac et il ne bouge pas non plus

voilà ce que çà fait :



Après je suis sous VX Ace, mais je ne pense pas que ça change grand chose
avatar
DragonFly
Membre

Nombre de messages : 512
Age : 17
Localisation : Sous l'escalier des Dursley : ) LOL
Distinction : Relou-man [Mist']
Mon 2eme plus grand fan [Yama']
Cuisto' Maker de la commu' [Gel']
Date d'inscription : 30/08/2016

Re: Mettre une image sous le héros

le Mer 7 Sep 2016 - 13:11
Si ça change et énormement, tu peux utiliser l'overlay facilement.
avatar
dricc
Membre

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

Re: Mettre une image sous le héros

le Mer 7 Sep 2016 - 14:15
Ah , je pensait que c'était seulement une minimap dans le coin ...

En effet , tu veux faire ce qu'on appele de l'overlay , là . Il existe des scripts spéciaux pour ça .
Je n'ai jamais pensé que mon script pourrait servir à ça Smile Teste bien et si ça ne pose pas de problemes , pourquoi pas ... Le principal probleme que je vois , c'est si tu veux mettre d'autres evenements sur ta carte . Et j'imagine que tu as un evenement en haut à gauche aussi : il doit bien etre bloqué pour que le joueur ne puisse pas interagir avec .
avatar
juniecrea
Membre

Nombre de messages : 11
Age : 29
Localisation : Limousin
Distinction : aucune
Date d'inscription : 06/09/2016
http://juniecrea.deviantart.com/

Re: Mettre une image sous le héros

le Mer 7 Sep 2016 - 16:46
Ok je vais rester sur ton script en mode auto. Après je peaufiné ma map car elle ne coïncide pas avec certains éléments du tileset ^_^

Edit : Du coup j'ai laisser tomber cette méthode et j'utilise maintenant l'Overlay Mapping Script. çà marche bien mais j'ai un souci : quand je me ballade vers le bas de la map, il y a un bout du mapping de base qui fait une boucle en fait :
je vous montre un screen pour être plus clair ^_^



J'ai poster à peu près le même message sur le post du script mais étant donné l'âge des derniers messages, personne doit y faire attention -_-'
Contenu sponsorisé

Re: Mettre une image sous le héros

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