You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
346 lines
9.3 KiB
346 lines
9.3 KiB
<chapter id="technical-reference">
|
|
<chapterinfo>
|
|
|
|
<authorgroup>
|
|
<author
|
|
><firstname
|
|
>Eric</firstname
|
|
> <surname
|
|
>Bischoff</surname
|
|
> </author>
|
|
<othercredit role="translator"
|
|
><firstname
|
|
>Robert</firstname
|
|
><surname
|
|
>Gomułka</surname
|
|
><affiliation
|
|
><address
|
|
><email
|
|
>carramba@epf.pl</email
|
|
></address
|
|
></affiliation
|
|
><contrib
|
|
>Polskie tłumaczenie</contrib
|
|
></othercredit
|
|
>
|
|
</authorgroup>
|
|
<date
|
|
>2002-04-10</date
|
|
> <releaseinfo
|
|
>0.03.02</releaseinfo
|
|
> <keywordset>
|
|
<keyword
|
|
>KDE</keyword>
|
|
<keyword
|
|
>KTuberling</keyword>
|
|
<keyword
|
|
>dokumentacja techniczna</keyword>
|
|
</keywordset>
|
|
</chapterinfo>
|
|
|
|
<title
|
|
>Dokumentacja techniczna</title>
|
|
|
|
<para
|
|
>&ktuberling; oferuje oględne i odpłacające wprowadzenie do dostrajania i programowania &kde;. Program może być rozszerzany. Na przykład, bez żadnego kodowania, nowe plansze mogą być dodawane za pomocą zmiany plików graficznych. Poprzez dodanie odpowiednich plików dźwiękowych, tłumacze mogą stworzyć dźwięki w ich ojczystym języku! </para>
|
|
|
|
<para
|
|
>Jeżeli rozszerzasz, lub dodajesz coś do gry, pomyśl o przesłaniu Twoich dodatków do programisty <ulink url="mailto:e.bischoff@noos.fr"
|
|
>Eric Bischoff</ulink
|
|
>, w celu włączenia w kolejnych wersjach. </para>
|
|
|
|
<sect1 id="for-artists">
|
|
<title
|
|
>Dla artystów</title>
|
|
|
|
<para
|
|
>Rozmiar i kształt pola gry, a także liczba obiektów mogą podlegać zmianom. Można dodawać nowe plansze. Tylko dwa pliki graficzne muszą być stworzone dla każdej planszy: plansza gry i maska. Maksymalnie dozwolonych jest 8 plansz, z których obecnie używa się 3. </para>
|
|
|
|
<para
|
|
>W programie &ktuberling; używa się sześciu typów obrazków: <filename
|
|
>potato-game.png</filename
|
|
>, <filename
|
|
>potato-mask.png</filename
|
|
>, <filename
|
|
>penguin-game.png</filename
|
|
>, <filename
|
|
>penguin-mask.png</filename
|
|
>, <filename
|
|
>aquarium-game.png</filename
|
|
> i <filename
|
|
>aquarium-mask.png</filename
|
|
>. Standardowym położeniem tych plików jest katalog <filename class="directory"
|
|
>$TDEDIR/share/apps/ktuberling/pics/</filename
|
|
>. </para>
|
|
|
|
<para
|
|
>Pierwszy typ obrazków, <filename
|
|
>*-game.png</filename
|
|
>, przechowuje planszę i obiekty, które wybiera użytkownik. Jest to grafika, którą widzi użytkownik podczas gry. </para>
|
|
|
|
<para
|
|
>Drugi typ obrazków, <filename
|
|
>*-mask.png</filename
|
|
>, zawiera wyłącznie maski obiektów. Maski używane są do określania granic obiektów, a także, w niektórych przypadkach, dodania obiektowi pewnej przezroczystości (na przykład okulary). Obowiązkowe jest umieszczenie obiektów w tym samym położeniu zarówno w pliku planszy, jak i pliku masek. </para>
|
|
|
|
<para
|
|
>W tym samym katalogu plik o nazwie <filename
|
|
>layout.xml</filename
|
|
>. (<filename
|
|
>$TDEDIR/share/apps/ktuberling/pics/layout.xml</filename
|
|
>) mówi, których obrazków użyć i łączy je z pozycjami menu. Zawiera również parametry pozycji planszy, a także obiektów w polu gry i maskach. Ostatecznie deklaruje języki jako zbiory przetłumaczonych dźwięków. Stosuje się do standardowej składni XML (zobacz szczegóły na <link linkend="layout-details"
|
|
>below</link
|
|
>). </para>
|
|
|
|
<para
|
|
>Ciągle w tym samym katalogu, plik o nazwie <filename
|
|
>layout.i18n</filename
|
|
> (<filename
|
|
>$TDEDIR/share/apps/ktuberling/pics/layout.xml</filename
|
|
>) podsumowuje teksty w <filename
|
|
>layout.xml</filename
|
|
>, które mogą być przetłumaczone: <itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Pozycje menu, które pozwalają wybrać planszę i język</para
|
|
></listitem>
|
|
<listitem
|
|
><para
|
|
>Nazwy kategorii obiektów</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para
|
|
>Jeden poziom wyżej, plik o nazwie <filename
|
|
>ktuberlingui.rc</filename
|
|
> (<filename
|
|
>$TDEDIR/share/apps/ktuberling/ktuberlingui.rc</filename
|
|
>) jest kolejnym plikiem XML opisującym menu programu &ktuberling;. Powinien zawierać jeden znacznik <markup
|
|
><action></markup
|
|
> dla planszy i języka. Nazwa symboliczna akcji w tym pliku powinna być identyczna z nazwą symboliczną w <filename
|
|
>layout.xml</filename
|
|
>. </para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="for-translators">
|
|
<title
|
|
>Tłumaczenie</title>
|
|
|
|
<para
|
|
>Oprócz zwyczajowego mechanizmu plików <literal role="extension"
|
|
>.po</literal
|
|
> do tłumaczenia etykiet i tekstów zachęty, dźwięki również mogą zostać zlokalizowane. </para>
|
|
|
|
<para
|
|
>Jeśli różni tłumacze mogą nagrać swój głos do pliku <literal role="extension"
|
|
>.wav</literal
|
|
>, mogą go zachować do określonego przez język podkatalogu w katalogu z dźwiękami. Nazwa dźwięku jest później przypisywana do pliku <filename
|
|
>layout.xml</filename
|
|
>. Na przykład gdy docelowym językiem jest włoski, tłumacze mogą nagrać swój głos w plikach <literal role="extension"
|
|
>.wav</literal
|
|
> umieszczonych w <filename
|
|
>$TDEDIR/share/apps/ktuberling/sounds/it</filename
|
|
>. Następnie mogą przydzielić dźwięk o nazwie <quote
|
|
>hat</quote
|
|
> do nazwy pliku <filename
|
|
>it/cappello.wav</filename
|
|
>. </para>
|
|
|
|
<para
|
|
>W kolejnych wersjach &ktuberling; będzie używał dla dźwięków formatu OGG Vorbis rc3. Wtedy również będzie można skonwertować pliki WAV do OGG Vorbis rc3 za pomocą poniższej linii: <screen
|
|
><prompt
|
|
>$</prompt
|
|
> <userinput
|
|
>oggenc_rc3 -o <replaceable
|
|
>sound.ogg</replaceable
|
|
> <replaceable
|
|
>sound.wav</replaceable
|
|
></userinput
|
|
>
|
|
</screen>
|
|
</para>
|
|
|
|
<para
|
|
>Informacja jak pracować z mechanizmami tłumaczeń w &kde; jest dostępna w <ulink url="http://i18n.kde.org/translation-howto/index.html"
|
|
>The KDE Translation HOWTO</ulink
|
|
>. </para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="for-programmers">
|
|
|
|
<title
|
|
>Dla programistów</title>
|
|
<para
|
|
>&ktuberling; tak naprawdę nie jest trudny do rozszerzenia przez programistów.</para>
|
|
|
|
<sect2 id="classes">
|
|
<title
|
|
>klasy C++</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
><classname
|
|
>TopLevel</classname
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Okno górnego poziomu i podstawowe zarządzanie programem</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
><classname
|
|
>PlayGround</classname
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Opis jednego z poziomów gry</para
|
|
> </listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
><classname
|
|
>ToDraw</classname
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Opis jednego z <quote
|
|
>obiektów</quote
|
|
> graficznych do narysowania</para
|
|
> </listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
><classname
|
|
>SoundFactory</classname
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Opis jednego z języków i jego dźwięków</para
|
|
> </listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
><classname
|
|
>Action</classname
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Jedna z akcji użytkownika na stosie cofnij/ponów</para
|
|
> </listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="files-structure">
|
|
<title
|
|
>Struktura plików <literal role="extension"
|
|
>.tuberling</literal
|
|
></title>
|
|
|
|
<para
|
|
>Plik <literal role="extension"
|
|
>.tuberling</literal
|
|
> przechowuje dane niezbędne do odrysowania bulwy. Może być edytowany zwykłym edytorem tekstu.</para>
|
|
|
|
<para
|
|
>Pierwsza linia przechowuje numer planszy.</para>
|
|
|
|
<para
|
|
>We wszystkich pozostałych liniach znajduje się po jednym obiekcie graficznym, w kolejności używanej do ich narysowania. Każda linia zawiera pięć liczb: identyfikator obiektu i prostokąt, gdzie powinien być narysowany (lewo, góra, prawo, dół). Liczby oddzielone są spacjami.</para>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="layout-details">
|
|
<title
|
|
>Struktura pliku rozmieszczenia (<filename
|
|
>layout.xml</filename
|
|
>)</title>
|
|
|
|
<para
|
|
>Znacznik górnego poziomu jest unikalny, a jego nazwa to <markup
|
|
><ktuberling></markup
|
|
>. Zawiera liczne znaczniki <markup
|
|
><playground></markup
|
|
>, po jednym dla planszy oraz liczne <markup
|
|
><language></markup
|
|
>, po jednym dla języka. </para>
|
|
|
|
<para
|
|
>Znacznik <markup
|
|
><playground></markup
|
|
> posiada dwa atrybuty. <markup
|
|
>gameboard</markup
|
|
> i <markup
|
|
>masks</markup
|
|
>. Atrybuty te dają nazwę plików przechowujących obrazki. <markup
|
|
><playground></markup
|
|
> zawiera również jeden znacznik <markup
|
|
><menuitem></markup
|
|
>, jeden znacznik <markup
|
|
><editablearea></markup
|
|
>, wiele znaczników <markup
|
|
><category></markup
|
|
> i <markup
|
|
><object></markup
|
|
>. </para>
|
|
|
|
<para
|
|
>Znacznik <markup
|
|
><menuitem></markup
|
|
> opisuje identyfikator akcji pozycji menu pozwalając na wybór położenia obszaru, na którym można upuszczać obiekty, a także etykietę tej pozycji menu. Ten identyfikator akcji powinien być identyczny z tym w <filename
|
|
>ktuberlingui.rc</filename
|
|
>. </para>
|
|
|
|
<para
|
|
>Znacznik <markup
|
|
><editablearea></markup
|
|
> opisuje położenie obszaru, na którym można upuszczać obiekty, a także nazwę dźwięku z nim powiązanego. </para>
|
|
|
|
<para
|
|
>Znacznik <markup
|
|
><category></markup
|
|
> opisuje położenie i etykietę tekstu opisującego grupę obiektów. Na przykład, może opisywać położenie i tekst grupy <quote
|
|
>kosztowności</quote
|
|
>. </para>
|
|
|
|
<para
|
|
>Znacznik <markup
|
|
><object></markup
|
|
> opisuje położenie (na planszy i w maskach) obiektu, jak również nazwę dźwięku z nim powiązanego. </para>
|
|
|
|
<para
|
|
>Znacznik <markup
|
|
><language></markup
|
|
> posiada jeden atrybut: <markup
|
|
>code</markup
|
|
>. Zawiera on kod ustawień regionalnych danego języka. Znacznik <markup
|
|
><language></markup
|
|
> zawiera również jeden znacznik <markup
|
|
><menuitem></markup
|
|
> i wiele znaczników <markup
|
|
><sound></markup
|
|
>. </para>
|
|
|
|
<para
|
|
>Znaczniki niższego poziomu nie są tu wyjaśnione, ponieważ ich znaczenie jest raczej oczywiste. Po zmianie <filename
|
|
>layout.xml</filename
|
|
> nie zapomnij odpowiednio zmodyfikować <filename
|
|
>layout.i18n</filename
|
|
> i <filename
|
|
>ktuberlingui.rc</filename
|
|
>. </para>
|
|
|
|
</sect1>
|
|
</chapter>
|