Napisy Końcowe
Aktualny czas: 28-04-26, 20:01 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VX] Napisy Końcowe
Gorn5 Offline
*


Liczba postów: 141
Dołączył: 07-11-13

Pomógł: 1



Post: #1
Napisy Końcowe

Witam!
Chcę się spytać czy da się tak zrobić, aby napisy końcowe przewijały się wolniej lub szybciej? Oto skrypt:
#==============================================================================
# Autor: MiDas Mike
# Tłumaczenie i poprawki: Ayene
# www.ultimateam.pl
#==============================================================================
# Umieść skrypt nad Main
#==============================================================================
# By wywołać napisy wpisz:
#     $scene = Scene_Credits.new
#==============================================================================
# Skrypt wyświetla napisy końcowe (tzw. Credits)
#==============================================================================
# KONFIGURACJA

# Czcionka
CREDITS_FONT = "Times New Roman"

# Wielkość czcionki
CREDITS_SIZE = 24

# Kolor konturu
CREDITS_OUTLINE = Color.new(0,0,127, 255)

# Kolor cienia
CREDITS_SHADOW = Color.new(0,0,0, 100)

# Kolor wypełnienia
CREDITS_FILL = Color.new(255,255,255, 255)

# Nazwa obrazka, który ma się wyświetlać w tle
CREDITS_BACK = "title"
#==============================================================================

class Scene_Credits
# Początek edycji tekstu
# poniżej wpisz tekst, który ma się wyświetlać

    CREDIT=<<_END_  # <- nie usuwaj tego

Tytuł Gry

~ Reżyser ~
Ayene
---------------

~ Skrypty ~
Ayene
---------------

~ Grafika ~
Ayene
---------------

~ Dźwięk i muzyka ~
Ayene
---------------

~ Mapy ~
Ayene
---------------

~ Fabuła ~
Ayene
---------------

~ Testerzy Beta ~
Ayene
---------------


~ Szczególne podziękowania ~
Dziękuję Twórcy niniejszego skryptu :P
---------------


~ Strona wsparcia ~
http://www.ultimateam.pl
---------------

_END_
# Koniec edycji
#==============================================================================
  def main    
    @sprite = Sprite.new
    @backgroundList = [CREDITS_BACK]
    @backgroundGameFrameCount = 0
    @backgroundG_BFrameCount = 3.4
    @sprite.bitmap = Cache.system(@backgroundList[0])        
    credit_lines = CREDIT.split(/\n/)
    credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
    credit_lines.each_index do |i|
      line = credit_lines[i]
      credit_bitmap.font.name = CREDITS_FONT
      credit_bitmap.font.size = CREDITS_SIZE
      x = 0
       credit_bitmap.font.color = CREDITS_OUTLINE
       credit_bitmap.draw_text(0 + 1,i * 32 + 1,640,32,line,1)
       credit_bitmap.draw_text(0 - 1,i * 32 + 1,640,32,line,1)
       credit_bitmap.draw_text(0 + 1,i * 32 - 1,640,32,line,1)
       credit_bitmap.draw_text(0 - 1,i * 32 - 1,640,32,line,1)
       credit_bitmap.font.color = CREDITS_SHADOW
       credit_bitmap.draw_text(0,i * 32 + 8,640,32,line,1)
       credit_bitmap.font.color = CREDITS_FILL
      credit_bitmap.draw_text(0,i * 32,640,32,line,1)
    end
    @credit_sprite = Sprite.new(Viewport.new(0,25,640,380))
    @credit_sprite.bitmap = credit_bitmap
    @credit_sprite.z = 9998
    @credit_sprite.oy = -430
    @frame_index = 0
    @last_flag = false    
    Audio.me_stop
    Audio.bgs_stop
    Audio.se_stop
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @sprite.dispose
    @credit_sprite.dispose
  end
  
  def last?
    return (@frame_index >= @credit_sprite.bitmap.height + 480)
  end
  def last
    if not @last_flag
      @last_flag = true
      @last_count = 0
    else
      @last_count += 1
    end
    if @last_count >= 300
      $scene = Scene_Map.new
    end
  end
  
  def cancel?
    if Input.trigger?(Input::C)
      $scene = Scene_Title.new
      return true
    end
    if Input.trigger?(Input::B)
      $scene = Scene_Title.new
      return true
    end
    return false
  end
  
  def update
    @backgroundGameFrameCount = @backgroundGameFrameCount + 1
    if @backgroundGameFrameCount >= @backgroundG_BFrameCount
        @backgroundGameFrameCount = 0
        @backgroundList = @backgroundList << @backgroundList[0]
        @backgroundList.delete_at(0)
        @sprite.bitmap = Cache.system(@backgroundList[0])
      end
    return if cancel?
    last if last?
    @credit_sprite.oy += 1
  end
end
17-12-13 20:23
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #2
RE: Napisy Końcowe

Znajdź:
@sprite = Sprite.new
pod tym dodaj:
@count = 0

następnie znajdź:
@credit_sprite.oy += 1
i zamień na:
@count += 1
if @count % 2 == 0
   @count = 0
   @credit_sprite.oy += 1
end

[Obrazek: aye_furniture_pres.png]
23-12-13 19:28
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Gorn5 Offline
*


Liczba postów: 141
Dołączył: 07-11-13

Pomógł: 1



Post: #3
RE: Napisy Końcowe

yyyy...? No z tym zamienianiem rozumiem. Ale możesz wytłumaczyć co zmieniłałaś, żeby te napisy wolniej leciały?
23-12-13 22:37
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Multi0 Offline


Liczba postów: 163
Dołączył: 09-05-13

Pomógł: 0



Post: #4
RE: Napisy Końcowe

Proste, podała warunek że jeżeli coś jest jakiejś wartości to jego wartość maleje / zmienia się.
(Ten post był ostatnio modyfikowany: 23-12-13 22:40 przez Multi0.)
23-12-13 22:39
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #5
RE: Napisy Końcowe

No może nie do końca. Wprowadziłam dodatkową zmienną @count, która wzrasta co klatkę animacji. Domyślnie to samo działo się z napisami (przesuwają się o 1). Wprowadziłam następnie warunek, który przesuwa napisy po tym, jak @count po podziale przez 2 będzie zwracać resztę 0. Innymi słowy warunek będzie spełniony, gdy @count będzie liczbą parzystą. Można napisać, że po jego spełnieniu nie jest wymagane zerowanie @count, ale to taka moja fanaberia. Gdybyś chciał opóźnić napisy jeszcze bardziej, możesz zamiast dzielenia przez 2, dzielić np. przez 3.

[Obrazek: aye_furniture_pres.png]
23-12-13 23:44
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Avara Offline
*


Liczba postów: 109
Dołączył: 16-05-13

Pomógł: 0



Post: #6
RE: Napisy Końcowe

Czyli w uproszczeniu napisy lecą dwa razy wolniej (dwa razy rzadziej są przesuwane o 1 piksel w górę). Jak podzielisz przez 3 będą lecieć 3 razy wolniej.

My Fantasy Online 3 - gra przeglądarkowa RPG w Maker'owych klimatach
[Obrazek: 35187.png]
Spoiler: (Otwórz)
(Ten post był ostatnio modyfikowany: 24-12-13 00:18 przez Avara.)
24-12-13 00:18
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.