Partagez
Aller en bas
Anonymous
Invité
Invité

Problème Script Empty Problème Script

le Sam 2 Mai 2009 - 23:41
Bonsoir , voici la ligne qui pose problème

self.contents = Bitmap.new(width - 32, height - 32)

Pourriez vous m'éclairer à ce sujet, merci d'avance.
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Problème Script Empty Re: Problème Script

le Dim 3 Mai 2009 - 10:37
Cette ligne, insérée dans l'initialize de chaque fenetre (sous vx, dans Window_Base) crée un bitmap.
Ce bitmap contiendra toutes les données affichées dans la fenetre.
en gros, tu as 2 composants dans la fenetre: le bitmap de cadre, crée à partir d'un windowskin, et le bitmap contents, avec lequel seront fusionnés tous les textes, images affichées sur la fenetre:

self.contents.draw_text(...) # on appelle la méthode Bitmap#draw_text du bitmap contents.
On peut noter aussi le processus de raffraichissement:
Dans chaque méthode refresh, on commence par efface contents: self.contents.clear
puis on redessine dessus tous les elements de la fenetre.
Cette opération se fait à chaque frame, donc environ 60 fois par secondes, ce qui est très lourd pour une fenetre complexe. Il faut donc mettre un compteur de rafraichissement, pour tout rafraichir uniquement lorsque c'est nécessaire. (Cf. Sprite_Timer).

si l'on étudie les dimensions de contents:
(width - 32, height - 32)
width et height sont les dimensions de la fenetre
on retire 32 pix à chacun, ce qui fait que l'on a des marges de 16 pix de chaque coté de la fenetre. Pourquoi ? pour éviter que le contenu dépasse sur les bordures du windowskin. Enfin, comme un bitmap doit avoir une taille non nulle (>0), on ne peut pas créer de fenetre de dimensions inférieures à 32*32.

Voila

Berka
Anonymous
Invité
Invité

Problème Script Empty Re: Problème Script

le Dim 3 Mai 2009 - 14:47
Merci beaucoup pour ces éclaircissement.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum