Difference between revisions of "Ca:Inkscape"

From X-Moto
Jump to: navigation, search
Line 1: Line 1:
 
[[How to create smooth levels using Inkscape|English]]
 
[[How to create smooth levels using Inkscape|English]]
  
=Atenció: aquest software encara esta en fase de desenvolupament. =
+
----
=Es més una prova a llarg termini. =
+
 
=Si us plau, notifica els errors al IRC=
+
'''Atenció: aquest software encara esta en fase de desenvolupament.'''
 +
'''Si us plau, notifica els errors al IRC'''
  
 +
----
  
 
== Programari Requerit ==
 
== Programari Requerit ==
Line 14: Line 16:
  
 
== Primer de tot ==
 
== Primer de tot ==
extensio
+
 
 
Has de instal·lar l'extensió svg2lvl del inkscape.
 
Has de instal·lar l'extensió svg2lvl del inkscape.
  
Line 21: Line 23:
 
  $ cd the_rep_where_you_ve_done_the_cvs_checkout
 
  $ cd the_rep_where_you_ve_done_the_cvs_checkout
 
  $ cd xmoto/tools/svg2lvl/
 
  $ cd xmoto/tools/svg2lvl/
  $ mkdir -p ~/.inkscape/extensions/svg2lvl/
+
  $ mkdir -p ~/.inkscape/extensions/svg2lvl
  $ cp svg2lvl.inx ~/.inkscape/extensions/
+
  $ cp svg2lvl.inx *.py ~/.inkscape/extensions/
  $ cp *.py ~/.inkscape/extensions/svg2lvl/
+
  $ ln -s /usr/share/inkscape/extensions/bezmisc.py ~./inkscape/extensions/bezmisc.py
 
 
 
Aleshores, ja pots arrencar inkscape.
 
Aleshores, ja pots arrencar inkscape.
  
 
=== Windows ===
 
=== Windows ===
  
En share/extensions/ dins del directori d'instal·lació de linkscape. Crea un directori anomenat ''svg2lvl''. Copia els arxius .py dins d'aquest. I copia els .inx file en share/extensions/
+
En share/extensions/ dins del directori d'instal·lació de linkscape. Copia els arxius .py i .inx dins d'aquest directori.
  
 
Ara, arrenca inkscape.
 
Ara, arrenca inkscape.
Line 48: Line 49:
  
 
Inskcape treballa amb les seves pròpies figures com estrelles, cercles, ... així que hauràs de transformar-les en trajectòries de vèrtex.
 
Inskcape treballa amb les seves pròpies figures com estrelles, cercles, ... així que hauràs de transformar-les en trajectòries de vèrtex.
Important: no especificar les propietats d'un objecte abans de transformar-lo en trajectòries ! Totes les propietats s'eliminaran.. Inkscape les borra.
 
  
 +
Important: no especificar les propietats d'un objecte abans de transformar-lo en trajectòries !
 +
Totes les propietats s'eliminaran.. Inkscape les borra.
 
Primer, selecciona un objecte,
 
Primer, selecciona un objecte,
 
[[Image:inskcape-obj.png]]
 
[[Image:inskcape-obj.png]]
Line 141: Line 143:
 
== Genera l'arxiu del Nivell ==
 
== Genera l'arxiu del Nivell ==
  
Inkscape treballa amb corves bezier, però el convertidor nomes utilitzara el vèrtex, així que tindràs objectes llisos.
+
Mai mes hauras d'afegir vertex, l'script pot fer-ho ell mateix
 
 
Selecciona la primera eina (premen F1), desprès selecciona tots els objectes amb Ctrl-a. Per donar els vèrtex als objectes, utilitza l'efecte 'add nodes' que esta en el menú ''Effect'' -> ''Path modification'' -> ''add nodes''. Escull el valor màxim per a la longitud com per exemple 10.0.
 
 
 
[[Image:inskcape-smooth.png]]
 
 
 
 
 
No tinguis por de donar vèrtex als objectes perquè el convertidor eliminara els innecessaris. Per exemple, aquí hi ha un vèrtex pendent al fitxer de mostra:
 
 
 
[[Image:Sample-level-editor.png|level in the editor]]
 
 
 
  
 
===Arrencar el Convertidor===
 
===Arrencar el Convertidor===
Line 168: Line 160:
 
Aleshores l'arxiu del nivell es guarda en el directori escollit en la finestra de ''Save as...''.
 
Aleshores l'arxiu del nivell es guarda en el directori escollit en la finestra de ''Save as...''.
  
 +
Important: en GNU/Linux, sembla ser que guardant el nivell directament en el directori de nicells del xmoto ~/.xmoto/Levels/ no funciona...
 +
 +
Important 2: Hi ha un bug en l'Inkscape. El primer cop que guardes un nivell amb format .lvl, has de posar alguna cosa en la caixa de ''lua script''. Si no ho fas, l'Inkscape es tancarà...
 
[[Image:Script-params.png]]
 
[[Image:Script-params.png]]
  
Line 184: Line 179:
 
Posa l'arxiu lvl que has generat en el directori Levels del xmoto, i ja hi pots jugar:
 
Posa l'arxiu lvl que has generat en el directori Levels del xmoto, i ja hi pots jugar:
  
 +
[[Image:Sample-level-editor.png|level in the editor]]
 
[[Image:sample-level.jpg|thumb|Our level in X-Moto]]
 
[[Image:sample-level.jpg|thumb|Our level in X-Moto]]
  

Revision as of 00:46, 9 September 2006

English


Atenció: aquest software encara esta en fase de desenvolupament. Si us plau, notifica els errors al IRC


Programari Requerit

  • Inkscape (>= 0.44)
  • Python (>= 2.4)
  • Svg2lvl converter i inkscape extension (disponible en el xmoto cvs)
$ cvs -z3 -d:pserver:anonymous@xmoto.cvs.sourceforge.net:/cvsroot/xmoto co -P xmoto/tools/svg2lvl/

Primer de tot

Has de instal·lar l'extensió svg2lvl del inkscape.

GNU/Linux

$ cd the_rep_where_you_ve_done_the_cvs_checkout
$ cd xmoto/tools/svg2lvl/
$ mkdir -p ~/.inkscape/extensions/svg2lvl
$ cp svg2lvl.inx *.py ~/.inkscape/extensions/
$ ln -s /usr/share/inkscape/extensions/bezmisc.py ~./inkscape/extensions/bezmisc.py

Aleshores, ja pots arrencar inkscape.

Windows

En share/extensions/ dins del directori d'instal·lació de linkscape. Copia els arxius .py i .inx dins d'aquest directori.

Ara, arrenca inkscape.

Dibuixa un nivell

Obre Inkscape.

Inkscape-empty.png


Ja estàs preparat per a dibuixar un nivell utilitzant Inskcape. Mira't els howto's del Inskcape del menú Ajuda.

Inskcape-drawn.png

Transforma tots els objectes en trajectòries

Inskcape treballa amb les seves pròpies figures com estrelles, cercles, ... així que hauràs de transformar-les en trajectòries de vèrtex.

Important: no especificar les propietats d'un objecte abans de transformar-lo en trajectòries !
Totes les propietats s'eliminaran.. Inkscape les borra.

Primer, selecciona un objecte, Inskcape-obj.png


Desprès, Shift+Ctrl+C (o utilitza el menú)

Inskcape-obj2path.png


I ja tens la trajectòria del vèrtex

Inskcape-path.png

Repeteix aquest procés per a totes les figures del inskcape (quadrat, cercle, estrella, ...)

Propietats dels Objectes

Un cop hagis dibuixat el nivell, hauràs de posar les propietats de les entitats, els blocs i les figures. Selecciona un objecte, fes click dret i selecciona 'object properties'.

Inskcape-properties.png


Les propietats es poden dins la caixa 'label'. Es separen amb un '|'. Si no hi han propietats especificades, l'objecte es coloca com un bloc amb la textura per defecte. També pots emplenar la caixa 'id', es útil si escrius un script amb codi lua per al nivell, perquè així tens els noms dels blocs, les zones, etc.. per fer-los servir en el teu script.

Atenció :les propietats son sensibles a les majúscules ! Escriu-les exactament com us mostrem:

Propietats de Blocs

  • background
  • dynamic
  • usetexture=texture_name

Exemples

Un Bloc de fons (es un bloc en el fons amb el qual el jugador no pot interactuar) utilitzant la textura Dark Dirt:

background|usetexture=DarkDirt

Un Bloc dinàmic utilitzant la textura per defecte:

dynamic

Un Bloc utilitzant la textura per defecte:

(no tens res per posar-hi, deixa'l buit (o deixa lo que inkscape posi))

Un Bloc utilitzant la textura Dark Dirt:

usetexture=DarkDirt

Propietats de les Entitats

  • typeid=[PlayerStart|EndOfLevel|Strawberry|Wrecker|ParticleSource|Sprite]
  • size=float_number (the entity colision radius)
  • param_name=param_value available params name are (there's more of them):
    • z (for Sprite)
    • name (for Sprite)
    • style (for every entity)
    • type (for ParticleSource)

Exemples

El codi d'una partícula fumejant:

typeid=ParticleSource|type=Smoke

Una maduixa:

typeid=Strawberry

Una figura d'un arbre posat darrera dels blocs davanters:

typeid=Sprite|name=Tree1|z=-1

L'inici del jugador:

typeid=PlayerStart

El final del nivell:

typeid=EndOfLevel

Propietats de Zones

  • typeid=Zone
l'únic possible valor per a una zona
typeid=Zone

Genera l'arxiu del Nivell

Mai mes hauras d'afegir vertex, l'script pot fer-ho ell mateix

Arrencar el Convertidor

Per guardar el teu nivell din d'un arxiu amb format .lvl, utilitza el menú File -> Save as... (o fes Shift-Ctrl-S) i escull l'extensió X-Moto Level, posa nom al arxiu del nivell i prem Save.

Save-as.png

Una nova finestra emergirà, has de posar-hi:

  • level width : l'amplada del nivell en xmoto unit. Prova diferents fins que trobis la correcta
  • smoothitude : quant mes alt es el valor, mes suau serà el nivell. Però no afegeixis molts vèrtex, perquè l'xmoto no fa l'escala molt be si el nivell es molt gran amb milers de vèrtex... i anirà una mica mes lent...
  • lua script  : la ruta absoluta pel teu script lua (deixa'l buit si no tens cap)
  • level id  : l'identificador del nivell (cada nivell ha de tenir un diferent)

Aleshores l'arxiu del nivell es guarda en el directori escollit en la finestra de Save as....

Important: en GNU/Linux, sembla ser que guardant el nivell directament en el directori de nicells del xmoto ~/.xmoto/Levels/ no funciona...
Important 2: Hi ha un bug en l'Inkscape. El primer cop que guardes un nivell amb format .lvl, has de posar alguna cosa en la caixa de lua script. Si no ho fas, l'Inkscape es tancarà...

Script-params.png


També pots utilitzar la línia d'ordres.

$ python svg2lvl.py --width=100.0 --smooth=95.0 --lua= --name=myLevelId svgfile > levelfile.lvl

Els paràmetres son:

  • level width in xmoto unit
  • smooth percent (play with it)
  • absolute path to lua script file (optional)
  • level id
  • absolute path to the svg file

Posa l'arxiu lvl que has generat en el directori Levels del xmoto, i ja hi pots jugar:

level in the editor

Our level in X-Moto

Arxius utilitzats en aquesta guia