Przejdź do treści
   
   


Nowe artykuły:
Więcej...
Nowe recenzje: RSS
Więcej...
Najnowsze pliki: RSS
Więcej...
Nowe biosy: RSS
    Więcej...

     

    Spis treści

    Napisy w Auto Gordian Knot

    IV - Format SSA (4)
        Poznaliśmy już sposób tworzenia i ustawiania parametrów styli, więc zajmijmy się teraz sekcją [Events].  Zawiera ona, analogicznie jak inne formaty (TMP, MicroDVD) , linie tekstu napisów, w specjalny sposób sformatowane. Tworzą ją linie Dialogue:, zawierające formatowanie analogiczne do tego ze styli: tu również mamy do czynienia z ciągiem, oddzielonych przecinkami wartości, a pierwsza linia (Format:) definiuje kolejność i typ parametrów, jakie spotkamy w liniach napisów. Zmieniamy je podobnie jak w stylach, ale mają charakter lokalny – zmiana któregoś z parametrów wpływa tylko na linię, w której się znajduje.
        Oprócz tych wartości, które możemy zmieniać wpływając na wartości 10 pól, możemy też wpisywać znaczniki bezpośrednio do tekstu, czyli w dziesiątym polu. Takim znacznikiem jest na przykład \N widoczne w powyższym przykładzie skryptu, które wymusza łamanie lini (podział linii na wiersze).
        Na początek zajmiemy się wytłumaczeniem znaczenia owych 10 pól; podobnie jak wcześniej, posłużę się dokumentacją SSA.

    Pole 1:     Marked
    Za pomocą tego parametru możemy zaznaczyć którąś z linii (wartość 1), ale ma to znaczenie tylko dla SSA, AGK ignoruje tę wartość i nie jest istotne, co ustawimy.

    Pole 2:    Start
    Początkowy czas napisów o formacie 0:00:00.00 czyli Godzina:Minuta:Sekunda.Setne sekundy. Zauważmy, że godziny zajmują jedno miejsce.

    Pole 3:    End
    Jak wyżej, ale określamy tu końcowy czas wyświetlania napisu.

    Pole 4:    Style
    Nazwa stylu, który określiliśmy w sekcji [V4 Styles]. Pamiętajmy o wielkości liter. Warto zwrócić uwagę na tzw. problem stylu *Default. Niektóre programy generują skrypt o takiej nazwie (z gwiazdką), ale ponieważ gwiazdka jest pomijana, a styl Default oznacza domyślny styl zaimplementowany w ssa (jeśli się pomylimy i przypiszemy do tekstu styl, który nie istnieje, na przykład zamiast MojStyl napiszemy Mojstyl – wielkość liter! – AGK i każdy inny interpreter ssa użyje stylu domyślnego, który jest jakby wbudowany w ssa: czcionka Arial, białe litery...). Dlatego powinniśmy unikać nazwy Default, z gwiazdką lub bez, jeśli ją gdzieś spotkamy, zmieńmy na inną.

    Pole 5:    Name
    Nazwa bohatera, który wypowiada dana kwestię. Jedynie do celów informacyjnych, aby łatwiej było czytać i edytować skrypt. Nie ma znaczenia, co tu napiszemy, możemy zamiast tego nic nie wpisywać (zostaną wtedy dwa przecinki obok siebie).

    Pole 6:    MarginL
    Czterocyfrowa wartość nadpisujaca lewy margines, który określiliśmy w stylu. Wartość w pikselach. Cztery zera oznaczają, że używamy wartości określonej w stylu [czyli nie zachodzi nadpisywanie].

    Teoretycznie powinno być tak, że jeśli zamiast czterech zer wpiszemy jedno, to nowy lewy margines powinien wynosić teraz zero – po to wprowadza się te cztery zera. Tak jednak nie jest – dla AGK nie ma znaczenia, ile zer wpiszemy, jeśli użyjemy jednego to również zostanie zastosowany margines ze stylu. Jak więc można wymusić nadpisanie marginesu tak, by wynosił w danej linijce zero? Najlepiej jest po prostu wpisać jeden zamiast zera, ale jeśli komuś zależy na absolutnym zerze, powinien stworzyć nowy styl.

    Podobnie nie musimy pisać marginesu w formacie czterocyfrowym, zamiast 0030 możemy napisać 30. Zalecam jednak pozostawienie formatu czterocyfrowego – po prostu wygodniej się to edytuje i od razu widać, która pozycja dotyczy marginesu.

    Pole 7:    MarginR
    Prawy margines, opis jak wyżej.. Opisane tam uwagi odnoszą się także i do tego marginesu.

    Pole 8:    MarginV
    Pionowy  margines, opis jak wyżej.. Opisane tam uwagi odnoszą się także i do tego marginesu.

    Pole 9:    Effect
    Efekt przejścia. Albo puste miejsce [możemy się też spotkać z zapisem !Effect – dodanie wykrzyknika do tekstu sprawia, że AGK traktuje go jako brak tekstu] albo zawierające określenie jednego z trzech możliwych efektów przejść używanych przez ssa.

    Nazwa efektu musi być dokładnie wpisana – wielkość liter ma znaczenie.
         
    Karaoke  oznacza, że tekst będzie sukcesywnie podświetlany w miarę upływu czasu.
    Ponieważ do precyzyjnego określania czasu i typu tego podświetlania używane są znaczniki, szczegółowy opis znajduje się w dalszej części tutorialu.

    Scroll up;y1;y2;delay oznacza, że tekst będzie przesuwał się w górę ekranu. Parametry muszą być oddzielone średnikami.

    Wartości y1 i y2 definiują w pionie obszar, w którym tekst będzie przewijany. Są to wielkości wyrażone w pikselach i nie ma znaczenia kolejność ich wpisania (y1 może oznaczać zarówno górę jak i dół obszaru pojawienia się tekstu, podobnie y2). Jeśli wartości te wynoszą zero, tekst pojawia się na całym ekranie.
        
    Uwaga – jeśli użyjemy zer w AGK, to tekst nie pojawi się na całym ekranie – nie pojawi się w ogóle. Dalszy opis objaśnia wartość delay, ale ponieważ jest on zasadniczo różny od sposobu, w jaki interpretuje go AGK, podaję właściweznaczenie.

    W AGK wartość delay można obliczyć ze wzoru (wzór wyprowadziłem empirycznie):
     d=1000* t/H
     gdzie d=delay, t – czas w sekundach, od pojawienia się początku napisu u dołu ekranu do momentu, kiedy dotyka on górnej krawędzi (pierwsza linijka), H to wysokość okna w pikselach.

    Przykład: załóżmy, że napis ma się pojawić w oknie o wysokości 125 pikseli (ustawiamy y1=15 i y2=140). Chcemy, aby jedna linijka tekstu pokonała tę odległość w 10 sekund. Jakie ustawić delay?
        d=1000* 10/125=80
        Ustawiamy delay=80, czyli piszemy w naszym wypadku:
        Scroll up;15;140;80
        
    Jeśli tekst zawiera 10 linijek, to czas ten określa okres od pojawienia się tekstu (pierwszej linijki) na dole pola do momentu dotknięcia górnej granicy pola przez pierwszą linijkę. Nie zapomnijmy o tym, bo inaczej napis nam zniknie zanim schowa się za górną krawędzią. Musimy też pamiętać, aby zsynchronizować ten czas z czasem wyświetlania się napisu, który w skrypcie jest ważniejszy: jeśli na przykład napis ma się nam wyświetlić przez dwie sekundy, to niezależnie jak wielkie byśmy nie ustawili delay,  to oczywiście nasz przewijany tekst zniknie po 2 sekundach.


    Banner;delay oznacza, że tekst będzie przesuwany w pojedynczej linii, niezależnie od długości, od prawej do lewej strony ekranu. Marginesy są pomijane! Tekst wychodzi zza krawędzi ekranu i za krawędź sięchowa.

    Wielkość delay oblicza się tu zupełnie inaczej. Bierzemy czas w sekundach, w jakim początek napisu ma pokonać ekran, i dzielimy go przez 0.74 (wielkość przyblizona). To będzie nasza wartość delay.

    Przykład: chcemy, aby napis (ściślej – jego początek; ustawmy wartość Start i End

    w linii Dialogue: tak, aby cały napis się zmieścił) pokonał ekran w 10 sekund.
                Liczymy: 10/0.74=13,5 Wartość delay wynosi 13 a nasz zapis:
                Banner;13


    Pole 10:    Text
    Jest to po prostu tekst napisów, który będzie wyświetlany w danym czasie – określonym przez parametry Start i End. Wszystko, co znajduje się po dziewiątym przecinku [a więc w dziesiątym polu Text] tarktowane jest jako tekst napisów, więc może zawierać przecinki [bo skrypt ssa nie może zawierać przecinków].
                
    Tekst może zawierać znaczniki podziału lini \n, \N oraz znaczniki nadpisujące styl, zawarte w nawiasach klamrowych {}.

     

    Komentarze

    Komentarze

    Michal_me - 2007-10-18 13:29:29
    Dobry tutorialial.
    Czy autor tego artyku³u móg³by siê ze mn± skontaktowaæ?
    Mój adres: michal_me[ma³peczka]tlen[kropeczka]pl

    Dodawanie komentarzy wymaga zalogowania.