Accueil du SiteAccueil du Site  AccueilAccueil  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  ConnexionConnexion  S'enregistrerS'enregistrer  




Partagez | 
 

 [RMXP]Défiler ou non le panorama

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Cantarelle
Ancien staffeux
Ancien staffeux
avatar

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
49 / 10049 / 100







MessageSujet: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 12:25

Bonjour ou bonsoir.

AVANT TOUTE CHOSE : CE SCRIPT N'EST QUE POUR RMXP. CE N'EST PAS LA PEINE DE ME DEMANDER POUR VX OU ACE, JE NE LE FERAI PAS!

Lors de la conception d'une map, j'ai remarqué que le panorama n'arrêtait pas de suivre le héros, peu importait la taille de celui-ci. Pire, même si le panorama était à la même taille que la map, celui-ci suivait quand même le héros!
Perso, j'ai résolu le problème.

Alors, ça vous dit d'avoir le défilement ou non du panorama ? Surtout que ce script n'a aucune interférence avec les scripts que vous pourrez créer (à moins si vous codez comme des pieds) ou même ceux de base.

Pour ça, changez dans Spriteset_map ces lignes :
Code:

      @panorama.ox = $game_map.display_x / 8
      @panorama.oy = $game_map.display_y / 8


Avec celles-ci :
Code:

    if @panorama_name =~ /_d$/
      @panorama.ox = $game_map.display_x / 8
      @panorama.oy = $game_map.display_y / 8
    else
      @panorama.ox = $game_map.display_x / 4
      @panorama.oy = $game_map.display_y / 4
    end


Comment s'utilise ce script ?

Ce script s'active selon le nom de votre panorama. Si le nom de celui-ci se termine par _d, celui-ci sera défilant. Sinon, il ne suivra pas le héros.

Par exemple, admettons qu'il y a deux panoramas.

Un se nomme crepuscule
L'autre se nomme crepuscule_d

Le deuxième défilera mais pas le premier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 12:36

Citation :
(à moins si vous codez comme des pieds)
Tu serais surprise ^^'

Un script bien pratique mais je trouve ça un peu dommage que tu ne prennes pas l'habitude de monkeypatcher les classes/modules que tu modifies, c'est un peu mieux pour la maintenance et la suppression de script ?
(Après je suis d'accord sur la non raisonnabilité du monkeypatching mais bon...)
Revenir en haut Aller en bas
Zexion
Administrateur
Administrateur
avatar

Masculin
Messages postés : 6226
Date d'inscription : 04/01/2012
Jauge LPC :
97 / 10097 / 100












MessageSujet: Re: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 12:39

Ça faisait longtemps que je cherchai quelque chose du genre, merci.
Some points added.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cantarelle
Ancien staffeux
Ancien staffeux
avatar

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
49 / 10049 / 100







MessageSujet: Re: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 18:12

Grim : habituellement, je surcharge les classes. Mais cette fois, c'était complètement inutile, car tu as tout de même la même base dans les deux cas. Je n'ai fais que mettre une condition Smile
La surcharge des classes est pratique lorsque tu ajoutes des méthodes, pas quand tu fais une petite modification comme là.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 20:00

Mais dans le cas où le maker veut enlever ton script?
Revenir en haut Aller en bas
Cantarelle
Ancien staffeux
Ancien staffeux
avatar

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
49 / 10049 / 100







MessageSujet: Re: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 20:33

Pas besoin, il n'a qu'à mettre _d à la fin de son panorama pour avoir l'ancien panorama défilant.

_____________________
Vous pensez avoir la fibre artistique. J'aurai du avoir la fibre optique Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: [RMXP]Défiler ou non le panorama   Sam 3 Nov 2012 - 22:13

Euh moui... oké.
Revenir en haut Aller en bas
Jin
Ancien staffeux
Ancien staffeux
avatar

Masculin
Messages postés : 8556
Date d'inscription : 08/12/2010
Jauge LPC :
69 / 10069 / 100

G 1 petit zizi Very Happy
Nn C pa vré Sad











MessageSujet: Re: [RMXP]Défiler ou non le panorama   Mer 7 Nov 2012 - 12:26

Tu peux le faire sur VX ? :troll:

Bref petit code astucieux ^^
Merci.

_____________________
Je soutiens :
~Kioresse~
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cantarelle
Ancien staffeux
Ancien staffeux
avatar

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
49 / 10049 / 100







MessageSujet: Re: [RMXP]Défiler ou non le panorama   Jeu 8 Nov 2012 - 13:28

Citation :
Tu peux le faire sur VX ?
Inutile, il existe déjà. A moins que je confonde avec celui de Ace, mais non, je n'ai pas que ça à faire (et aussi parce que j'ai pas envie de télécharger VX (j'ai déjà le ace)).

_____________________
Vous pensez avoir la fibre artistique. J'aurai du avoir la fibre optique Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Elekami
Fondateur
Fondateur
avatar

Masculin
Messages postés : 19067
Date d'inscription : 19/07/2008
Jauge LPC :
100 / 100100 / 100





















MessageSujet: Re: [RMXP]Défiler ou non le panorama   Jeu 8 Nov 2012 - 13:34

Non mais en fait c'était juste du troll en référence à ta phrase de mise en garde, il utilise XP lui de toute façon. xD

_____________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lepalaiscreatif.net https://twitter.com/EleKoptes
Invité
Invité
avatar


MessageSujet: Re: [RMXP]Défiler ou non le panorama   Jeu 8 Nov 2012 - 15:34

C'est nul de tester une expression régulière toutes les frames.
Revenir en haut Aller en bas
Invité
Invité
avatar


MessageSujet: Re: [RMXP]Défiler ou non le panorama   Jeu 8 Nov 2012 - 16:00

Ce ne serait pas mieux de stocker le cas ou le panorama défile dans un attribut ? Et simplement tester l'attribut? Par soucis de performance... comme à priori, le style de défilement du panorama ne varie pas (parce que défini dans le nom du fichier) donc il suffirait de le modifier dans le setup de la carte ?
Revenir en haut Aller en bas
tonyryu
Paysan (niveau 4)
Paysan (niveau 4)
avatar

Masculin
Messages postés : 39
Date d'inscription : 14/09/2012
Jauge LPC :
37 / 10037 / 100


MessageSujet: Re: [RMXP]Défiler ou non le panorama   Jeu 8 Nov 2012 - 16:49

Outre le fait de l'expression régulière à chaque frame sur le nom du panorama, si l'on veut utiliser le même panorama avec défilement sur une autre map, il faut 2 fichiers du même panorama avec 2 noms différents.

Il serait bon d'optimiser tout ça, zou torché en 10 min :
suffit d'ajouter \P[xxx] dans le nom de la map, xxx correspond au ratio de défilement, si 0, n'est pas pris en compte, exemple pour avoir la même fonctionnalité que précédent : \P[4]

Code:
class Game_Map
 
  attr_reader :panorama_move
 
  alias panorama_initialize initialize
  def initialize
    panorama_initialize
    @panorama_move = 8
  end
 
  alias panorama_setup setup
  def setup(map_id)
    panorama_setup(map_id)
    @panorama_move = 8
    map_info = load_data("Data/MapInfos.rxdata")
    map_name = map_info[map_id].name

    map_name.gsub!(/\\P\[(.*)\]/) { @panorama_move = $1.to_i if $1 != 0}

  end
end


class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # If panorama is different from current one
    if @panorama_name != $game_map.panorama_name or
      @panorama_hue != $game_map.panorama_hue
      @panorama_name = $game_map.panorama_name
      @panorama_hue = $game_map.panorama_hue
      if @panorama.bitmap != nil
        @panorama.bitmap.dispose
        @panorama.bitmap = nil
      end
      if @panorama_name != ""
        @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
      end
      Graphics.frame_reset
    end
    # If fog is different than current fog
    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
      @fog_name = $game_map.fog_name
      @fog_hue = $game_map.fog_hue
      if @fog.bitmap != nil
        @fog.bitmap.dispose
        @fog.bitmap = nil
      end
      if @fog_name != ""
        @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
      end
      Graphics.frame_reset
    end
    # Update tilemap
    @tilemap.ox = $game_map.display_x / 4
    @tilemap.oy = $game_map.display_y / 4
    @tilemap.update
    # Update panorama plane
    update_panorama
    # Update fog plane
    @fog.zoom_x = $game_map.fog_zoom / 100.0
    @fog.zoom_y = $game_map.fog_zoom / 100.0
    @fog.opacity = $game_map.fog_opacity
    @fog.blend_type = $game_map.fog_blend_type
    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
    @fog.tone = $game_map.fog_tone
    # Update character sprites
    for sprite in @character_sprites
      sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.ox = $game_map.display_x / 4
    @weather.oy = $game_map.display_y / 4
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
      sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport3.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport3.update
  end
 
  def update_panorama
    @panorama.ox = $game_map.display_x / $game_map.panorama_move
    @panorama.oy = $game_map.display_y / $game_map.panorama_move
  end
end

Avantages :
- Installation : Copié/collé dans un nouveau script au dessus de main
- Désinstallation : suppression du script
- Paramétrable
- Aucun renommage ou duplication de fichier à faire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Leicsirg
Ninja (niveau 1)
Ninja (niveau 1)
avatar

Masculin
Messages postés : 156
Date d'inscription : 10/06/2012
Jauge LPC :
12 / 10012 / 100



MessageSujet: Re: [RMXP]Défiler ou non le panorama   Jeu 8 Nov 2012 - 17:15

ça marche, mais mon problème étant de faire bouger le pano j'ai essayer de faire un truc, et ça a marché
donc si vous voulez faire bouger le pano, il vous suffira de remplacer:
Code:
if @panorama_name =~ /_d$/
      @panorama.ox = $game_map.display_x / 8
      @panorama.oy = $game_map.display_y / 8
    else
      @panorama.ox = $game_map.display_x / 4
      @panorama.oy = $game_map.display_y / 4
    end

par ça
Code:
if @panorama_name =~ /_d$/
      @panorama.ox = @panorama.ox + 1
      @panorama.oy = @panorama.oy + 1
    else
      @panorama.ox = $game_map.display_x / 4
      @panorama.oy = $game_map.display_y / 4
    end

bon c'est simple mais ça peut aider et rendre le script plus utile ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [RMXP]Défiler ou non le panorama   

Revenir en haut Aller en bas
 
[RMXP]Défiler ou non le panorama
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RMXP]Défiler ou non le panorama
» édition 2011 du Panorama éco. de la H-Normandie
» Le panorama à 360° sur votre écran, simplement magique!
» M'énervent à lui filer des bonbons...je craque!!!
» Association le Panorama des Animaux (69)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker XP :: Autres-
Sauter vers: