# El manual de l'&i18n-ksirkskineditor;

Gaël Kleag de Chalendar

    kleag@free.fr

&traductor.Antoni.Bella;
2009 Gaël de Chalendar
&FDLNotice;
14 d'octubre de 2021
KDE Gear 21.08

El &ksirk; és una versió per a ordinador d'un joc d'estratègia ben conegut. Es poden crear aparences que canviaran totalment el seu aspecte. Aquest manual explica com crear-les des de zero, utilitzant un navegador de fitxers, un editor d'imatges &SVG; i l'&i18n-ksirkskineditor;.

KDE editor lliure joc GPL risc aparença estratègia

## Introducció

El &ksirk; és una versió per a ordinador d'un joc d'estratègia ben conegut. Es poden crear aparences que canviaran totalment el seu aspecte. Aquest manual explica com crear-les des de zero, utilitzant un navegador de fitxers, un editor d'imatges &SVG; i l'&i18n-ksirkskineditor;.

Aquesta és una captura de pantalla de l'&i18n-ksirkskineditor;
Captura de pantalla

Hi ha tres passos principals per a crear una aparença nova: crear la jerarquia de carpetes, crear els gràfics, tots els agrupats dins d'un fitxer &SVG; i després col·locar els sprites i anomenar-ho tot utilitzant l'&i18n-ksirkskineditor;.

## Crear una aparença del &ksirk;

Es poden crear aparences del &ksirk; que canviaran totalment el seu aspecte. Per als que tenen capacitats gràfiques, la creació d'una aparença nova és tan senzilla com copiar una existent, editar-la o canviar els gràfics i actualitzar les dades en un fitxer de configuració `.desktop`, el qual es realitza utilitzant l'&i18n-ksirkskineditor;. Un últim pas és editar el fitxer que descriu què instal·lar.

Tots els exemples (text i imatges) es prenen de l'aparença predeterminada del &ksirk;.

### Estructura de les carpetes i fitxers

- `Data/`: les dades utilitzades pel programa per a manejar les imatges de l'aparença.

  - `CMakeLists.txt`: descriu què instal·lar.

  - `onu.desktop`: fitxer principal per a la descripció de l'aparença. Vegeu la seva descripció a continuació.

- `Images/`: les imatges de l'aparença (mapa, sprites, &etc;)

  - `CMakeLists.txt`: descriu què instal·lar.

  - `pool.svg`: el mapa i tots els sprites utilitzats en aquesta aparença.

  - `map-mask.png`: la imatge que permet que el programa trobi en quin país es troba el ratolí durant el joc (vegeu més avall).

  - `*.png`: aquestes imatges són les dels botons.

- `CMakeLists.txt`: descriu què instal·lar.

- `Sounds/`: els fitxers de so per a l'aparença.

#### La carpeta de dades

Aquesta carpeta conté només un fitxer, `world.desktop`. Aquest fitxer és una descripció del contingut de l'aparença. S'utilitza per a descriure l'organització del món i com mostrar-la. No heu d'omplir-lo manualment, ja que serà manejat per l'&i18n-ksirkskineditor;. Però, pel bé de la integritat, ara descriurem la seva estructura.

Un grup `onu` conté una sèrie d'entrades de països, una sèrie d'entrades de nacionalitat i, finalment, diverses entrades de continents. Després, diversos grups que contenen la descripció dels diferents sprites, la descripció dels diferents països, continents, nacionalitats i objectius.

Les seccions següents descriuen el contingut de cada grup.

##### El grup `onu`

Les entrades del grup `onu`

Nom de l'entrada | Significat
--- | ---
`width` | L'amplada del mapa de l'aparença.
`height` | L'alçada del mapa de l'aparença.
`skinpath` | El camí de l'aparença en relació amb el camí de les dades de l'aplicació (&pex;, `skins/default`).
`nb-countries` | El nombre de països (42 a l'aparença predeterminada). A continuació, hi haurà d'haver el mateix nombre de grups de països.
`nb-nationalities` | El nombre de nacionalitats (6 a l'aparença predeterminada). A continuació, hi haurà d'haver el mateix nombre de grups de nacionalitats.
`nb-continents` | El nombre de continents (6 a l'aparença predeterminada). A continuació, hi haurà d'haver el mateix nombre de grups de continents.
`pool` | El camí i el nom del fitxer de lloc relatiu al camí de l'aparença (&pex;, `Images/pool.svg`).
`map-mask` | El camí i el nom del fitxer de màscara de mapa relatiu al camí de l'aparença (&pex;, `Images/map-mask.png`).
`format-version` | La versió del format de fitxer de l'aparença (2.0).
`name` | El nom a mostrar de l'aparença.
`desc` | La descripció llarga de l'aparença.
`fighters-flag-y-diff` | La diferència d'alçada entre els sprites de banderes i canons.
`width-between-flag-and-fighter` | El nombre de píxels entre el píxel més a l'esquerra de la bandera i el píxel més a la dreta del canó senzill (quan no dispara ni hi ha una explosió).

##### La descripció dels grups de sprites

Cada tipus de sprite (bandera, infanteria, cavalleria, canó, canons que disparen i canons que exploten) es defineix per un grup. Només alguns sprites tenen una entrada d'amplada. Aquesta entrada s'utilitza per al posicionament relatiu durant les animacions: els canons, en disparar o explotar no s'han de «moure» al voltant de la bandera del país durant la lluita.

Entrades de descripció dels grups de sprites

Nom de l'entrada | Significat
--- | ---
`width` | L'amplada de referència dels fotogrames de l'sprite de bandera.
`height` | L'alçada de referència dels fotogrames de l'sprite de bandera.
`frames` | El nombre de fotogrames de l'sprite.
`versions` | El nombre de versions dels sprites de bandera.

##### Els grups i descripcions dels països

Cada país llistat en el grup `onu`, l'entrada de països té el seu propi grup, l'etiqueta del qual és el nom del país. La taula següent llista les entrades d'aquests grups.

Entrades del país

Nom de l'entrada | Significat
--- | ---
`id` | El nombre enter d'identificació única de país, ha de començar per zero (0).
`name` | El nom a mostrar del país.
`<sprite>-point` | Cada tipus de sprite (bandera, infanteria, &etc;) en el país es mostrarà en una posició definida per aquesta entrada feta de dos nombres enters separats per una coma.
`neighbours` | La llista dels ID dels veïns del país actual.

##### Els grups i descripcions de les nacionalitats

Cada nacionalitat llistada en el grup `onu`, l'entrada de nacionalitats té el seu propi grup, l'etiqueta del qual és el nom de la nacionalitat. La taula següent llista les entrades d'aquests grups.

Entrades de la nacionalitat

Nom de l'entrada | Significat
--- | ---
`name` | El nom de la nacionalitat (&pex;, `Japan`).
`leader` | El nom que es proposarà al jugador que triï aquesta nacionalitat.
`flag` | El nom de l'element sprite de bandera del país en el fitxer &SVG; `onu`.

##### Els grups i descripcions dels continents

Cada continent llistat en el grup `onu`, l'entrada de continents té el seu propi grup, l'etiqueta del qual és el nom del continent. La taula següent llista les entrades d'aquests grups.

Entrades dels continents

Nom de l'entrada | Significat
--- | ---
`name` | El nom del continent (&pex;, `Àfrica`).
`id` | El nombre enter d'identificació única del continent.
`bonificació` | El nombre de batallons obtinguts al final del torn pel jugador que posseeixi tots els països del continent.
`continent-countries` | La llista dels ID dels països dins del continent actual.

##### Els grups i descripcions dels objectius

Cada objectiu llistat en el grup `onu`, l'entrada d'objectius té el seu propi grup, l'etiqueta del qual és el nom de l'objectiu. La taula següent llista les entrades d'aquests grups.

Entrades de l'objectiu

Nom de l'entrada | Significat
--- | ---
`type` | El tipus d'objectiu. Pot ser un continent, país o jugador.
`nbArmiesByCountry` | Estableix el nombre mínim de batallons que el jugador haurà de posar a cada país.
`nbCountries` | Estableix el nombre de països que ha de posseir el jugador.
`nbCountriesFallback` | Per a un tipus d'objectiu del jugador, si el jugador objectiu és assassinat per un altre, això establirà el nombre de països que el jugador haurà de conquerir.
`desc` | Una descripció completa de text de l'objectiu amb marcadors de posició adequats (aquí cal més documentació).
`continents` | La llista dels ID dels continents que el jugador haurà de conquerir.

#### La carpeta de les imatges

Aquesta carpeta conté els botons específics del &ksirk; i el fitxer &SVG; de lloc que conté el mapa i tots els sprites.

##### El fitxer `pool.svg`

Aquest fitxer &SVG; conté el mapa i tots els sprites del joc. Cada element s'anomena de tal manera que el joc pot seleccionar i representar per separat cadascun d'ells.

A l'aparença predeterminada, els sprites són banderes, infanteria, cavalleria i canó. La infanteria representa un batalló, cinc la cavalleria i deu els canons. Els canons també s'utilitzen per a mostrar els exèrcits en lluita. És per això que hi ha tres tipus de sprites de canó: estàtic o movent-se normal, disparant i explotant.

Cada imatge de sprite és la concatenació de les diferents vistes de l'objecte i per a cada vista, els seus fotogrames. Les vistes s'organitzen verticalment i els fotogrames horitzontalment. On retallar la imatge en fotogrames individuals es troba dividint l'alçada de la imatge pel nombre de vistes i l'amplada pel nombre de fotogrames. Aquestes dades es troben en el fitxer `onu.desktop`.

Un exemple d'una imatge sprite: `cannon.png`

Per als sprites dels batallons, hi ha tres vistes diferents, de dalt a baix:

- mirant a la dreta

- mirant a l'esquerra i

- de cara

Per a les banderes, només hi ha una vista. Tots els fons dels sprites s'han d'establir a transparent.

Un exemple d'una imatge sprite de bandera: `italy.png`

Els elements del lloc

Nom de l'element | Imatge de mostra | Significat
--- | --- | ---
`map` |  | Mapa del món de les aparences. Els països poden tenir formes arbitràries, però s'han d'agrupar en continents reconeixibles a simple vista, només per la ubicació o pel color.
`italy` |  | La bandera de la nació italiana. Hi ha una entrada d'aquest tipus per a cada nació.
`infantry` |  | Icona que representa un batalló.
`cavalry` |  | Icona que representa cinc batallons.
`cannon` |  | Icona que representa deu batallons.
`firing` |  | Icona que representa els batallons durant una lluita.
`exploding` |  | Icona que representa els batallons en perdre una lluita.
`alaska` |  | La forma del país Alaska. Això s'utilitza per a ressaltar el país. N'hi ha una per a cada país. El seu color no s'utilitza. Com a tal, el color és lliure.
`reddices` |  | Els daus vermells mostren el resultat de les batalles.
`bluedices` |  | Els daus blaus mostren el resultat de les batalles.
`mark1` |  | Aquesta marca s'afegeix en els sprites de lluita per a mostrar la quantitat de batallons que representen, aquí 1. També hi ha els elements `mark2` i `mark3`.

##### El fitxer `map-mask.png`

Aquest fitxer PNG també representa el mapa del món en l'aparença, però amb colors codificats que permeten identificar de manera única cada país. Els països hauran de tenir almenys la mateixa forma que els països corresponents en el fitxer `map.png`, de manera que els usuaris puguin fer clic a qualsevol lloc d'un país visible i seleccionar-lo bé. Els països, com les illes petites, Indonèsia en el mapa predeterminat pot ser més gran que el seu equivalent en el fitxer `map.png` per a facilitar la selecció del país.

Mostra d'una màscara de mapa

El component blau (en el model RGB) del color d'un país, l'identifica: l'índex 0 és el país 0 en el fitxer `onu.xml`, l'índex 1 és el país 1, &etc; El blanc (0xFFFFFF en RGB) identifica l'absència del país (es veu o, per què no, la terra de ningú).

##### Les imatges dels botons

Els noms de fitxer estan codificats en el codi, i per això no s'haurien de modificar. La taula següent mostra tots els botons que s'han de proporcionar.

Els botons de la &IGU;

Imatge | Nom del fitxer | Significat
--- | --- | ---
| `newNetGame.png` | Intenta unir-se a una partida en xarxa.
| `recycling.png` | Una vegada tots els jugadors hagin col·locat els seus batallons, és possible modificar les distribucions (anomenat reciclatge). Aquest botó demana realitzar aquesta redistribució.
| `recyclingFinished.png` | Tria no redistribuir. Totes les finestres clients han de fer clic en aquest botó per a acabar realment la distribució.
| `nextPlayer.png` | Finalitza el torn actual i canvia al jugador següent o al torn següent si el jugador actual era l'últim.
| `attackOne.png` | Tria iniciar un atac amb un batalló.
| `attackTwo.png` | Tria iniciar un atac amb dos batallons.
| `attackThree.png` | Tria iniciar un atac amb tres batallons.
| `defendOne.png` | Tria defensar un país atacat amb un batalló.
| `defendTwo.png` | Tria defensar un país atacat amb dos batallons.
| `moveArmies.png` | Tria iniciar el moviment dels batallons entre dos països (última acció en el torn).

#### La carpeta de sons

Aquesta carpeta conté tres fitxers de so:

- `roll.wav` es reprodueix quan es mouen els batallons

- `cannon.wav` es reprodueix quan es dispara i

- `crash.wav` es reprodueix quan explota un canó

### Usar l'&i18n-ksirkskineditor;

Una vegada s'han creat els gràfics a la carpeta correcta i el fitxer &SVG;, només haureu de crear els països, jugadors, &etc; i associar-los amb l'element &SVG; correcte en el lloc. Això es pot fer amb l'&i18n-ksirkskineditor;. Cal tenir present que cada part d'aquesta aplicació es descriu automàticament amb els consells d'eina i l'ajuda contextual que es pot obtenir amb la drecera &Ctrl;F1.

Aquesta és una captura de pantalla de l'&i18n-ksirkskineditor;
Captura de pantalla

## Referència d'ordres

### La finestra principal de l'&i18n-ksirkskineditor;

#### Els botons

Carrega
Carrega…

  Fa que el programa carregui una aparença existent.

Desa
Desa

  Desa l'aparença editada actualment.

## Guia de l'&i18n-ksirkskineditor; per a desenvolupadors

Si us plau, consulteu https://api.kde.org/ per a la documentació de l'API.

## Preguntes i respostes

&updating.documentation;

## Crèdits i llicència

&ksirkskineditor;

Copyright del programa 2009 Gaël de Chalendar kleag@free.fr

Copyright de la documentació 2009 Gaël de Chalendar kleag@free.fr

Traductor de la documentació: &credits.Antoni.Bella;

&underFDL; &underGPL;
&documentation.index;