Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

758 connectés actuellement

29436177 visiteurs
depuis l'ouverture

2258 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker - La Communauté

Guelnika & E-magination

RPG Maker Détente

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RMXP] Faire bouger une image en script en même temps que Scene_Map


William Samy - posté le 03/04/2013 à 11:22:25 (488 messages postés)

❤ 0

revenant des vivant.

Domaine concerné: Script
Logiciel utilisé: RMXP
Salut c'est encore moi!

J’essaie d'exécuter un petit script (affichage et déplacement d'un bitmap) en l'appelant depuis un événement commun, le script s'exécute bien mais freeze la map...
EDIT : (Et la défreeze bien quand le script prend fin)

En fait j'aimerai bien continuer de jouer pendant que ce bitmap bouge...
Je crois que ce qui bloque est le fait que j'ai mis une boucle dans ce script pour modifier progressivement la position, l'opacité etc, mais mon niveau en Ruby est encore bas et je ne vois pas vraiment comment contourner le problème.

Existe-t-il une ligne de code magique ou moyen quelconque de continuer à faire marcher Scene_Map pendant une "translation" de bitmap dans une autre script?

(Sachant que j'ai aussi essayé de faire cette translation par une simple insertion de script dans un événement commun, hors d'une class, mais rien n'y change).

Merci d'avance pour votre aide

EDIT2: Je viens de réaliser que je me suis mal exprimé: c'est une fenêtre que je veux déplacer, avec un bitmap contenant du texte et une icone.
C'est un script qui hérite de Window_Base
En fait c'est une fenêtre style Window_Gold contenant divers éléments, et je voudrais la déplacer, la faire disparaître en fondu pendant que l'on continue à jouer (tel notification dans un coin de l'écran).

Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner


Nukidoudi - posté le 03/04/2013 à 11:59:05 (733 messages postés) -

❤ 0

yo

Tu dois modifier l'x et le y de l'instance de Game_Picture. pas du Sprite.

https://xvw.lol


William Samy - posté le 03/04/2013 à 12:18:30 (488 messages postés)

❤ 0

revenant des vivant.

Nukidoudi a dit:

Tu dois modifier l'x et le y de l'instance de Game_Picture.

L'instance de Game_Picture, c'est à dire? :F

Par ailleurs je viens de réaliser que je me suis mal exprimé: c'est une fenêtre que je veux déplacer, pas seulement un sprite (car il y a aussi un sprite en fait, pour afficher une icone).
C'est un script qui hérite de Window_Base
En fait c'est une fenêtre style Window_Gold contenant divers éléments, et je voudrais la déplacer, la faire disparaître en fondu pendant que l'on continue à jouer (tel notification dans un coin de l'écran).

Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner


mtarzaim - posté le 03/04/2013 à 13:40:41 (2926 messages postés)

❤ 0

Anaxagoras -500 BC

Citation:

j'ai mis une boucle dans ce script pour modifier progressivement


Je pense que le problème est là.

Il ne doit y avoir qu'une seule boucle dans tout le RGSS, c'est celle du Main (ou Update, je sais plus).

Si tu mets une boucle ailleurs, cette boucle va boucler sans laisser de temps au script Main (et donc tous les autres scripts qui en dépendent) de faire leurs petites affaires.

Vire la boucle et garde son contenu.
Ton code sera rappelé à chaque frame par Main, de toute manière.

Projets terminés : DIX Life Precious - TheFrogStudio.Net


Estheone - posté le 03/04/2013 à 14:21:22 (312 messages postés)

❤ 0

Comme le dit mtarzaim il ne faut jamais faire des boucles avec un Graphics.update dedans.

Et il n'y a pas de ligne magique pour paralléliser ton script, il te faut l'intégrer correctement dès le départ.

Si tu débutes en script c'est pas évident à faire donc voilà la démarche.

Dans le Scene_Map :

Tu rajoutes ces 2 fonctions :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
  def create_hud_window
    dispose_hud_window if @hud_window
    @hud_window = Window_HUD.new
  end
  
  def dispose_hud_window
    @hud_window.dispose
    @hud_window = nil
  end



En dessous de @spriteset.update dans le update tu mets :

Portion de code : Tout sélectionner

1
2
3
4
    if @hud_window
      @hud_window.update
      dispose_hud_window if @hud_window.need_dispose
    end



En dessous des @spriteset.dispose (il y en a un dans le main et un dans le transfer_player) tu mets :

Portion de code : Tout sélectionner

1
    dispose_hud_window if @hud_window



Ensuite la fenêtre en elle-même (j'ai pris Window_Gold comme base) :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Window_HUD < Window_Base
  
  attr_reader   :need_dispose
  
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    @need_dispose = false
    @count = 0
    refresh
  end
  
  def refresh
    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  end
  
  def update
    super
    @count += 1
    if @count > 60
      self.opacity -= 8
      @need_dispose = true if self.opacity == 0
    end
  end
end



Pour finir tu n'as plus qu'à appeler ta fenêtre à partir d'un appel de script en event :

Portion de code : Tout sélectionner

1
$scene.create_hud_window


A noter qu'il ne faut pas l'appeler à partir d'un event en démarrage automatique sans laisser 1 frame d'attente avant.


Teste ça et je pense que tu pourras compléter selon tes besoins en analysant le fonctionnement.

Wandering Souls : Jeu complet / Topic sur Oniro


William Samy - posté le 03/04/2013 à 17:20:43 (488 messages postés)

❤ 0

revenant des vivant.

Waa :hurle
Super Estheone, tes scripts fonctionnent. Merci beaucoup.

Je pense pouvoir l'adapter à mon système (qui consiste à afficher une notif à chaque ajout/supression d'objet, d'arme ou d'armure).


mtarzaim a dit:

Il ne doit y avoir qu'une seule boucle dans tout le RGSS, c'est celle du Main (ou Update, je sais plus).

Si tu mets une boucle ailleurs, cette boucle va boucler sans laisser de temps au script Main (et donc tous les autres scripts qui en dépendent) de faire leurs petites affaires.


:surpris3 Interessant, j'aurai appris quelque chose aujourd'hui.




Sujet résolu, merci à vous :sourire3

Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner

Index du forum > Entraide > [RESOLU] [RMXP] Faire bouger une image en script en même temps que Scene_Map

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers