Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # SCENE CREDITS
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Autorzy: Andrzej 'mc' Głuszak, MiDas Mike (aka 'Emily_Konichi'), AvatarMonkeyKirby
- # autor pierwszej wersji nieznany
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Wersja: 1.0
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Opis: Scena wyświtlająca przewijający się tekst. Sprawdzi się zarówno jako
- # Creditsy jak i wprowadzenie.
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Instrukcja: $scene = Scene_Credits.new(nazwa tekstu z Gluszak::Scene_Credits,
- # array zawierający nazwy teł (bez rozszerzeń) w Graphics/Pictures,
- # scena, do której powraca się po obejrzeniu creditsów.)
- #
- # Konfiguracja tekstów:
- # \\c[numer z listy Gluszak::Scene_Credits::COLORS, od jeden wzwyż]
- # \\s[rozmiar czcionki]
- # \\f[numer z listy Gluszak::Scene_Credits::FONTS, od jeden wzwyż]
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Kompatybilność: Nie testowany z SDK. Powinien być kompatybilny ze wszystkim.
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Licencja: CREATIVE COMMONS Uznanie autorstwa 3.0 Unported (CC BY 3.0)
- # Wolno: kopiować, rozpowszechniać, odtwarzać i wykonywać utwór,
- # tworzyć utwory zależne
- # Na następujących warunkach: Uznanie autorstwa —
- # należy wpisać twórców skryptu
- # (mcgluszak, AvatarMonkeyKirby, Emily_Konichi)
- # do credits (podziękowań).
- #-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=
- # Zmiany: v?.?, ? [autor nieznany]
- # v?.?, ? [MiDas Mike (aka 'Emily_Konichi')]
- # v?.?, 03/06/2007 [AvatarMonkeyKirby]
- # v1.0, 21/06/2010 [mcgluszak]
- #==============================================================================
- # Konfiguracja
- module Gluszak
- module Scene_Credits
- FONTS = ["Times New Roman","Arial"] # czcionka
- SIZE = 24 # domyślny rozmiar czcionki
- COLORS = [Color.new(255,255,255, 255),Color.new(22,11,100),Color.new(200,0,0,150)] # domyślny kolor tekstu
- SPEED = 3 # prędkość przewijania (1-5)
- # Konfiguracja tekstów
- TEXT1 = "
- \\c[2] tekst
- \\c[3] \\s[78] duży tekst
- \\s[15] elo
- Elo
- \\f[2] \\s[40]test tekstu
- tekst testu
- koniec"
- TEXT2 = "
- To jest tekst"
- # Koniec konfiguracji tekstów
- end
- end
- # Koniec konfiguracji
- class Scene_Credits
- include Gluszak::Scene_Credits
- def initialize(text=TEXT1, backgrounds=[], scene=Scene_Title)
- @scene = scene
- @text = text
- @backgrounds = backgrounds
- end
- def main
- @sprite = Sprite.new
- @frames = 0
- @wait = 7
- @sprite.bitmap = RPG::Cache.picture(@backgrounds[0]) if @backgrounds.size != 0
- credit_lines = @text.split(/\n/)
- credit_bitmap = Bitmap.new(640,96 * credit_lines.size)
- credit_lines.each_index {|i|
- line = credit_lines[i]
- size = SIZE
- line.gsub!(/\\[Ss]\[(\d+)\]/) {size = $1.to_i if $1; ''}
- credit_bitmap.font.size = size
- font = FONTS[0]
- line.gsub!(/\\[Ff]\[(\d+)\]/) {font = FONTS[$1.to_i - 1] if $1; ''}
- credit_bitmap.font.name = font
- color = COLORS[0]
- line.gsub!(/\\[Cc]\[(\d+)\]/) {color = COLORS[$1.to_i-1];''}
- credit_bitmap.font.color = color
- credit_bitmap.draw_text(0,i * 32,640,96,line,1)
- }
- @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
- @credit_sprite.bitmap = credit_bitmap
- @credit_sprite.z = 9998
- @credit_sprite.oy = -430
- @frame_index = 0
- Audio.me_stop
- Audio.bgs_stop
- Audio.se_stop
- Graphics.transition
- loop do
- Graphics.update
- Input.update
- update
- break if $scene != self
- end
- Graphics.freeze
- @sprite.dispose
- @credit_sprite.dispose
- end
- def last?
- if @frame_index > (@credit_sprite.bitmap.height + 500)
- $scene = @scene.new
- Audio.bgm_fade(10000)
- return true
- end
- return false
- end
- def cancel?
- if Input.trigger?(Input::C)
- $scene = @scene.new
- return true
- end
- return false
- end
- def update
- if @backgrounds.size != 0
- @frames += 1
- if @frames >= @wait
- @frames = 0
- @backgrounds.push @backgrounds[0]
- @backgrounds.delete_at 0
- @sprite.bitmap = RPG::Cache.picture(@backgrounds[0])
- end
- end
- return if cancel?
- return if last?
- @credit_sprite.oy += SPEED
- @frame_index += SPEED
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment