Code: |
class Message def initialize(texte1 = "", texte2 = "", couleur = 0, suivant = false) @texte1 = texte1 @texte2 = texte2 @couleur = couleur @suivant = suivant @noir = Color.new(96, 96, 96, 255) @bleu = Color.new(48, 80, 200, 255) @rouge = Color.new(224, 8, 8, 255) @gris = Color.new(208, 208, 200, 255) @fond = Sprite.new @fond.bitmap = Bitmap.new("Graphics/Windowskins/Dialogue") @fond.x = 5 @fond.y = 115 @fond.z = 0 @fenetre = Sprite.new @fenetre.bitmap = Bitmap.new(640, 480) @fenetre.bitmap.font.name = "Power Red and Green" @fenetre.bitmap.font.size = 14 case @couleur when 0 @fenetre.bitmap.font.color = @noir when 1 @fenetre.bitmap.font.color = @bleu when 2 @fenetre.bitmap.font.color = @rouge end @fenetre.bitmap.draw_text(16, 121, 208, 14, @texte1) @fenetre.bitmap.draw_text(16, 123 + 14, 208, 14, @texte2) @fenetre.z = 2 @ombre = Sprite.new @ombre.bitmap = Bitmap.new(640, 480) @ombre.bitmap.font.name = "Power Red and Green" @ombre.bitmap.font.size = 14 @ombre.bitmap.font.color = @gris @ombre.bitmap.draw_text(17, 122, 208, 14, @texte1) @ombre.bitmap.draw_text(17, 124 + 14, 208, 14, @texte2) @ombre.z = 1 if @suivant == true @fleche = Sprite.new @fleche.bitmap = Bitmap.new("Graphics/Windowskins/Flèche") @fleche.x = 16 + @fenetre.bitmap.text_size(@texte2).width + 3 @fleche.y = 139 @fleche.z = 2 end end def supprimer @fond.dispose @ombre.dispose @fenetre.dispose @fleche.dispose if @fleche != nil end def maj_fleche(i) case i when 0 @fleche.y = 139 when 6 @fleche.y = 140 when 12 @fleche.y = 141 when 18 @fleche.y = 140 when 24 @fleche.y = 139 end end end |
Code: |
Graphics.freeze message = Message.new("Je suis complètement épuisée.", "Tu aurais de l'eau s'il te plaît?", 2, true) i = 0 Graphics.transition(20) loop do if i > 24 i = 0 end i += 1 Graphics.update Input.update message.maj_fleche(i) if Input.trigger?(Input::C) break end end message.supprimer |
Yuri a écrit: |
C'est un peu léger et ça ne remplis pas vraiment la fonction prévu. Un message devrait s'écrire de cette façon : «Sal» => «Salut » => «Salut toi» => «Salut toi ! » (En fonction de la vitesse). Enfin pourquoi pas sinon, je ne comprend pas pourquoi tu as choisi d'initialiser deux bitmaps de 640x480 alors que tu pouvais faire avec un de la taille de la boite. |
Code: |
bitmap = Bitmap.new("Graphics/Windowskins/Flèche") |
Code: |
bitmap = Bitmap.new(640,480) |
Code: |
bitmap.blt(x , y, bitmap, src_rect) |
Code: |
dbitmap = RPG::Cache.windowskin("Dialogue") cw = dbitmap.width ch = dbitmap.height src_rect = Rect.new(0, 0, cw, ch) bitmap.blt(x,y, dbitmap, src_rect) bitmap.draw_text(17, 122, 208, 14, @texte1) fbitmap = RPG::Cache.windowskin("Flèche") cw = fbitmap.width ch = fbitmap.height src_rect = Rect.new(0, 0, cw, ch) bitmap.blt(x,y, fbitmap, src_rect) |