Partagez
Aller en bas
avatar
Will1000
Membre

Nombre de messages : 4
Distinction : aucune
Date d'inscription : 03/09/2012

Les images me rendent fou [résolu]

le Mer 23 Jan 2013 - 21:26
Bonjour ça fait un bon moment que je ne suis pas passé mais comme la team rocket je suis de retour^^

Bref j'ai un soucis avec l'affichage des images sous RM Ace.

Je bosse les effets de lumière sur mes maps et j'ai donc fait plusieurs masque à mettre par dessus.
exemple:
Spoiler:

Donc je fais ça:
Spoiler:
J'affiche mon image est évènement parallèle en réglant le point de départ de l'image et l'opacité de celle-ci (et j'ai déjà essayé de mettre supprimer l'évenement à la suite l'image me fait toujours des misères).

Tout s'affiche comme je veux:
Spoiler:

Puis je me déplace... Et là c'est le drame l'image me suit...
Spoiler:

Merci de ne pas commenter le magnifique map-making à la rache je cherche pour le moment le moyen de faire mes effets de lumière simplement (pour choisir mes outils)^^


Dernière édition par Will1000 le Jeu 24 Jan 2013 - 14:10, édité 1 fois
avatar
kordarr
Modérateur

Nombre de messages : 1838
Age : 28
Localisation : île de la réunion, Le Tampon.
Distinction : Auto-proclamé sex-symbol de la commu'
Frère jumeau de Jonathan ( Secret Story )
Exhibitionniste en herbe
[Mist' & Coco' Smile]
Fan n°1 de Coco'
Psychopathe en chef
Date d'inscription : 05/11/2008

Re: Les images me rendent fou [résolu]

le Mer 23 Jan 2013 - 21:38
Bonjour bonjour,

J'ai eu le même problème que toi il fut un temps.

Je te propose d'aller voir ici le problème résolu: http://www.rpgmakervx-fr.com/t4717-resoluaffichage-d-image?highlight=fixer+une+image

Sinon va faire un tour dans les scripts il me semble qu'il y a quelques choses la bas aussi pou rle même genre de soucis

EDIT: Ce script a l'air intéressant http://www.rpgmakervx-fr.com/t11743-vx-ultimate-overlay-mapping
avatar
Will1000
Membre

Nombre de messages : 4
Distinction : aucune
Date d'inscription : 03/09/2012

Re: Les images me rendent fou [résolu]

le Mer 23 Jan 2013 - 22:38
Merci^^ ça marche nickel! J'avais essayé exactement ça mais avec avec des events/variables mais ça marchait pas terrible (gros lags).

Le liens que tu as posté par le suite même à une démo indisponible si quelqu'un l'a en stock je suis preneur!!!

EDIT: Je suis confronté à un mystère de l'informatique... Ça marchait j'ai fait un copié collé sur une autre map et ça ne marche plus... sur aucune map... J'ai pas sauvegardé j'ai rechargé la map ou ça fonctionnait, j'ai re-testé et ça ne fonctionne pas...

RE-EDIT: Dans un moment de folie je me suis dit tiens je suis pas si dégueulasse que ça en anglais je vais regarder sur les forums anglais!
Et j'ai trouvé quelque chose qui marche à merveille^^

Code:
#==============================================================================
#    Fix Picture to Map
#    Version: 1.0.2 [VXA]
#    Author: modern algebra (rmrk.net)
#    Date: 8 September, 2012
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This allows you to set the position of a picture by the X and Y position
#  of the map, rather than the screen, so that the picture won't move with you
#  when the screen scrolls. Additionally, the script lets you set the Z value
#  to show below characters, or even below the tiles or below the parallax.
#
#    This script has no effect in battle and pictures there behave normally.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into its own slot in the Script Editor, above Main but
#  below Materials.
#
#    To specify that a picture should be fixed to a map and not follow the
#  screen, all you need to do is turn an in-game switch on before showing the
#  picture. To specify which switch, all you need to do is change the value of
#  SWITCH_ID at line 60. Alternatively, you can include the code [Fixed]
#  somewhere in the name of the picture.
#
#    For the fixed pictures, you also have the option of assigning it to grid
#  coordinates instead of pixel coordinates. This means that if you wanted it
#  to show up at (3, 5) in the map, you could set it to that directly instead
#  of (96, 160). You can turn on this feature using another switch, again one
#  which you choose by changing the value of COORDINATES_SWITCH_ID at line 63.
#
#    To specify the layer of the tilemap (what shows above it and what shows
#  below it), all you need to do is change the value of a variable. Which
#  variable is also specifed by you by changing Z_VARIABLE_ID at line 69.
#  The value to which that in-game variable is set at the time a picture is
#  shown determines where the picture will show up. If the variable is set to
#  0 then it will be in its normal place; if set to -1, it will show below
#  the tilemap but above the parallax; if set to -2, it will show below the
#  parallax; if set to 1, it will show above all non-star tiles but star tiles
#  and characters with normal priority; if set to 2, it will show above
#  characters with normal priority but below characters with "Above
#  Characters" priority. If set to any other value, the z value of the picture
#  will be set to that directly.
#==============================================================================

$imported = {} unless $imported
$imported[:MA_FixPictureToMap] = true

#==============================================================================
# *** MA_FixPicture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This module holds some relevant configuration Data
#==============================================================================

module MA_FixPicture
  #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  #  Editable Region
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  SWITCH_ID - set this to the ID of the in-game switch that you want to
  # use to control whether pictures should be fixed.
  SWITCH_ID = 2
  #  COORDINATES_SWITCH_ID - Set this to the ID of the in-game switch that you
  # want to use to control how coordinates are set. If this switch is ON, then
  # for fixed pictures, you can just use the grid x and y coordinates (ie: you
  # would set (1, 4) instead of (32, 128). If you always want this feature to
  # be on when the FPM Switch is on, you can set it to have the same ID.
  COORDINATES_SWITCH_ID = 2
  #  Z_VARIABLE_ID - set this to the ID of the in-game variable that you
  # want to use to control the z-value priority of the picture.
  Z_VARIABLE_ID = 3
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  End Editable Region
  #////////////////////////////////////////////////////////////////////////////
  class << self
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # * Public Instance Variables
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    attr_accessor :spriteset_vp1
    attr_accessor :spriteset_vp2
  end
end
#==============================================================================
# ** Game Picture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new public instance variables - mafpm_vp_id; mafpm_fixed; mafpm_z
#    aliased method - initialize; show; move
#==============================================================================

class Game_Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Public Instance Variables
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  attr_accessor :mafpm_vp_id
  attr_accessor :mafpm_fixed
  attr_accessor :mafpm_z
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_iniz_2fg6 initialize
  def initialize(*args, &block)
    @mafpm_fixed = false
    @mafpm_vp_id = 2
    mafpm_iniz_2fg6(*args, &block) # Call Original Method
    @mafpm_z = self.number
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Show Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_showpic_3jb7 show
  def show(name, *args, &block)
    # Only fix pictures if in Scene_Map
    if SceneManager.scene_is?(Scene_Map)
      @mafpm_fixed = (MA_FixPicture::SWITCH_ID == true ||
        $game_switches[MA_FixPicture::SWITCH_ID] || !name[/\[FIXED\]/i].nil?)
      z_var = $game_variables[MA_FixPicture::Z_VARIABLE_ID]
      # If 0 or less than 300, then it should belong to the viewport1
      @mafpm_vp_id = (z_var != 0 && z_var < 300) ? 1 : 2
      # Set Z shortcuts
      @mafpm_z = case z_var
      when -1 then -50        # Below tilemap but above parallax
      when -2 then -150        # Below parallax
      when 0 then self.number  # Normal position
      when 1 then 50          # Above tilemap but below normal characters
      when 2 then 150          # Above normal characters but below Above Characters
      else
        @mafpm_z = z_var < 300 ? z_var : z_var - 300 # Directly set to value
      end
    end
    mafpm_showpic_3jb7(name, *args, &block) # Call Original Method
    if @mafpm_fixed && (MA_FixPicture::COORDINATES_SWITCH_ID == true || $game_switches[MA_FixPicture::COORDINATES_SWITCH_ID])
      @x *= 32
      @y *= 32
    end
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Move Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_movepctr_2js1 move
  def move(*args, &block)
    mafpm_movepctr_2js1(*args, &block)
    if @mafpm_fixed && (MA_FixPicture::COORDINATES_SWITCH_ID == true || $game_switches[MA_FixPicture::COORDINATES_SWITCH_ID])
      @target_x *= 32
      @target_y *= 32
    end
  end
end

#==============================================================================
# ** Sprite Picture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - update
#==============================================================================

class Sprite_Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Frame Update
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_updt_5fw1 update
  def update(*args, &block)
    mafpm_updt_5fw1(*args, &block) # Call original method
    # If picture is fixed to map
    if @picture.mafpm_fixed
      # Scroll the picture appropriately
      self.x = @picture.x - ($game_map.display_x * 32)
      self.y = @picture.y - ($game_map.display_y * 32)
    end
    self.z = @picture.mafpm_z # Update Z to the correct Z
    # If the viewport has changed
    if @mafpm_vp_id != @picture.mafpm_vp_id && MA_FixPicture.send(:"spriteset_vp#{@picture.mafpm_vp_id}")
      @mafpm_vp_id = @picture.mafpm_vp_id
      # Change viewport
      self.viewport = MA_FixPicture.send(:"spriteset_vp#{@mafpm_vp_id}")
    end
  end
end

#==============================================================================
# ** Spriteset Map
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - create_viewports; dispose_viewports
#==============================================================================

class Spriteset_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Viewports
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_creatviewpor_3dk8 create_viewports
  def create_viewports(*args, &block)
    mafpm_creatviewpor_3dk8(*args, &block) # Call original method
    # Set the viewports to be globally accessible
    MA_FixPicture.spriteset_vp1 = @viewport1
    MA_FixPicture.spriteset_vp2 = @viewport2
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Dispose Viewports
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mafpm_disposevps_2nr5 dispose_viewports
  def dispose_viewports(*args, &block)
    # Nullify the variables in MA_FixPicture
    MA_FixPicture.spriteset_vp1 = nil
    MA_FixPicture.spriteset_vp2 = nil
    mafpm_disposevps_2nr5(*args, &block) # Call original method
  end
end

Il suffit de mettre [FIXED] devant le nom de l'image que l'on veux affichée fixe et l'afficher via un event.
Le script utilise 2 interrupteurs et une variable! Pour des applications bien plus avancées que ce dont j'ai besoin^^
Si vous souhaitez les utiliser ce sont d'origine les interrupteurs 2 et 2 (oui c'est bisare mais c'est expliqué dans le script) et la variable 3.

J'irais sans doute le traduire et le reposter sur le forum en version traduite demain ce script ne nécessite pas de crédit!!!
Contenu sponsorisé

Re: Les images me rendent fou [résolu]

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