mcgluszak

Scene Credits 0.0

Jun 16th, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.48 KB | None | 0 0
  1. #==============================================================================
  2. # SCENE CREDITS
  3. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  4. # Autorzy: Andrzej 'mc' Głuszak, MiDas Mike (aka 'Emily_Konichi'), AvatarMonkeyKirby
  5. #           autor pierwszej wersji nieznany
  6. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  7. # Wersja: 1.0
  8. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  9. # Opis:
  10. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  11. # Instrukcja:
  12. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  13. # Kompatybilność: Nie testowany z SDK. Powinien być kompatybilny ze wszystkim.
  14. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  15. # Licencja: CREATIVE COMMONS Uznanie autorstwa 3.0 Unported (CC BY 3.0)
  16. #           Wolno: kopiować, rozpowszechniać, odtwarzać i wykonywać utwór,
  17. #                  tworzyć utwory zależne
  18. #           Na następujących warunkach: Uznanie autorstwa —
  19. #                   należy wpisać twórców skryptu
  20. #                   (mcgluszak, AvatarMonkeyKirby, Emily_Konichi)
  21. #                   do credits (podziękowań).
  22. #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
  23. # Zmiany: v?.?, ?          [autor nieznany]
  24. #         v?.?, ?          [MiDas Mike (aka 'Emily_Konichi')]
  25. #         v?.?, 03/06/2007 [AvatarMonkeyKirby]
  26. #         v1.0, 16/06/2010 [mcgluszak]
  27. #==============================================================================
  28.  
  29. # Konfiguracja
  30. module Gluszak
  31.   module Scene_Credits
  32.     FONT = ["Times New Roman"] # czcionka
  33.     SIZE = 24 # rozmiar czcionki
  34.     OUTLINE = false # otoczka, wpisz false aby wyłączyć
  35.     SHADOW = false # cień, wpisz false aby wyłączyć
  36.     COLOR = Color.new(255,255,255, 255) # kolor tekstu
  37.     SPEED = 3 # prędkość przewijania (1-5)
  38.    
  39.    
  40. # Konfiguracja tekstów
  41. TEXT1 = "
  42. Dzik
  43. Pozdro
  44. Elo"
  45.  
  46. TEXT2 = "
  47. To jest tekst"
  48. # Koniec konfiguracji tekstów
  49.   end
  50. end
  51.  
  52. # Koniec konfiguracji
  53.  
  54. class Scene_Credits
  55.  
  56.   include Gluszak::Scene_Credits
  57.  
  58.   def initialize(text=TEXT1, backgrounds=['x','y'], scene=Scene_Title)
  59.     @scene = scene
  60.     @text = text
  61.     @backgrounds = backgrounds
  62.   end
  63.  
  64.   def main
  65.     @sprite = Sprite.new
  66.     @backgroundGameFrameCount = 0
  67.     @backgroundG_BFrameCount = 3.4
  68.     @sprite.bitmap = RPG::Cache.picture(@backgrounds[0])
  69.  
  70.     credit_lines = @text.split(/\n/)
  71.     credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
  72.     credit_lines.each_index {|i|
  73.       line = credit_lines[i]
  74.       credit_bitmap.font.name = FONT
  75.       credit_bitmap.font.size = SIZE
  76.       credit_bitmap.font.color = OUTLINE if OUTLINE
  77.       credit_bitmap.draw_text(0 + 1,i * 32 + 1,640,32,line,1) if OUTLINE
  78.       credit_bitmap.draw_text(0 - 1,i * 32 + 1,640,32,line,1) if OUTLINE
  79.       credit_bitmap.draw_text(0 + 1,i * 32 - 1,640,32,line,1) if OUTLINE
  80.       credit_bitmap.draw_text(0 - 1,i * 32 - 1,640,32,line,1) if OUTLINE
  81.       credit_bitmap.font.color = SHADOW if SHADOW
  82.       credit_bitmap.draw_text(0,i * 32 + 8,640,32,line,1) if SHADOW
  83.       credit_bitmap.font.color = COLOR
  84.       credit_bitmap.draw_text(0,i * 32,640,32,line,1)}
  85.     @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
  86.     @credit_sprite.bitmap = credit_bitmap
  87.     @credit_sprite.z = 9998
  88.     @credit_sprite.oy = -430
  89.     @frame_index = 0
  90.    
  91.     Audio.me_stop
  92.     Audio.bgs_stop
  93.     Audio.se_stop
  94.     Graphics.transition
  95.  
  96.     loop do
  97.       Graphics.update
  98.       Input.update
  99.       update
  100.       break if $scene != self
  101.     end
  102.    
  103.     Graphics.freeze
  104.     @sprite.dispose
  105.     @credit_sprite.dispose
  106.   end
  107.  
  108.   def last?
  109.     if @frame_index > (@credit_sprite.bitmap.height + 500)
  110.        $scene = @scene.new
  111.        Audio.bgm_fade(10000)
  112.       return true
  113.     end
  114.     return false
  115.   end
  116.  
  117.   def cancel?
  118.     if Input.trigger?(Input::C)
  119.       $scene = @scene.new
  120.       return true
  121.     end
  122.     return false
  123.   end
  124.  
  125.   def update
  126.     @backgroundGameFrameCount = @backgroundGameFrameCount + 1
  127.     if @backgroundGameFrameCount >= @backgroundG_BFrameCount
  128.       @backgroundGameFrameCount = 0
  129.       @backgrounds = @backgrounds << @backgrounds[0]
  130.       @backgrounds.delete_at(0)
  131.       @sprite.bitmap = RPG::Cache.picture(@backgrounds[0])
  132.     end
  133.     return if cancel?
  134.     return if last?
  135.     @credit_sprite.oy += SPEED
  136.     @frame_index += SPEED
  137.   end
  138.  
  139. end
Advertisement
Add Comment
Please, Sign In to add comment