# L'eina Constructor de scripts

Les aplicacions &kde; es poden controlar externament des d'un altre programa, des d'un indicatiu de la consola o des d'un script de l'intèrpret d'ordres emprant el protocol de comunicació inter-processos (&DBus;). &kstars; s'aprofita d'esta característica per a permetre que els comportaments complexos siguen escrits a scripts i executats en segon pla en qualsevol moment. Açò es pot utilitzar, per exemple, per a crear una presentació educativa per a il·lustrar un concepte astronòmic.

El problema amb els scripts de &DBus; és que escriure'ls és quasi com programar, i poden aparentar una tasca descoratjadora per als que no tenen experiència programant. L'eina Constructor de scripts, proporciona una IGU amb una interfície d'apuntar i fer clic per a construir scripts de &DBus; per a &kstars;, tornant realment fàcil el fet de crear-ne de complexos.

## Introducció al constructor de scripts

Abans d'explicar com emprar el constructor de scripts, vos proporcionen una molt breu introducció a tots els components de la IGU; per a més informació, utilitzeu la funció Què és açò?.

L'eina Constructor de scripts Eina Constructor de scripts

El constructor de scripts és mostra't en la captura de pantalla de davall. El quadro a l'esquerra és el quadro Script actual; mostra el llistat d'ordres que abasten l'escriptura de tasques a este script. El quadro a la dreta és el Navegador de funcions. Este mostra un llistat de totes les funcions disponibles per a l'script. A davall del navegador de funcions, hi ha un xicotet quadro que anirà mostrant la documentació curta sobre cada funció ressaltada en el navegador de funcions. En el quadro davall de Script actual és el d'Arguments de la funció; quan es ressalta a una funció en el quadro Script actual, este quadro contindrà els elements per a especificar els valors per a qualsevol argument que requerisca esta funció.

Al llarg de la part superior de la finestra, hi ha una fila de botons que operen sobre tot l'script. D'esquerra a dreta, són: Script nou, Obri un script..., Guarda script, Anomena i guarda l'script... i Prova l'script. La funció d'estos botons hauria de resultar òbvia, a excepció potser de l'últim botó. El fet de prémer Prova l'script resultarà en l'intent d'executar l'script actual en la finestra principal de &kstars;. Abans de prémer haureu d'apartar la finestra del constructor de scripts per a poder veure els resultats.

En el centre de la finestra (entre les dues caixes superiors), hi ha una columna de botons que operen sobre les funcions individuals de l'script. De dalt a baix, són: Afig una funció, Elimina la funció, Copia la funció, Mou amunt i Mou avall. Afig una funció, afegirà la funció ressaltada en el navegador de funcions al quadro Script actual (també podeu afegir una funció fent doble clic damunt seu). La resta de botons opera sobre la funció ressaltada al quadro Script actual, eliminant-la, duplicant-la, o canviant la seua posició en l'script actual.

## Emprar el constructor de scripts

Per a il·lustrar l'ús del constructor de scripts tot seguit vos presentem una xicoteta guia d'aprenentatge, en la qual creem un script que seguisca a la Lluna mentre el rellotge funciona en mode accelerat.

Si seguim la Lluna, primer necessitarem apuntar la vista cap a ella. La funció lookToward s'utilitza per a fer açò. Ressalteu esta funció en el Navegador de funcions i observeu la documentació mostrada en el quadro davall del navegador. Premeu el botó Afig una funció per a afegir esta funció al quadro Script actual. El quadro Arguments de la funció ara contindrà una llista desplegable anomenada com a Dir, abreujament per a direcció. Esta és la direcció en la qual la vista haurà d'apuntar. El quadro combinat tan sols conté els punts cardinals, no la Lluna o cap altre objecte. Podeu introduir la Lluna en el quadro manualment o prement el botó Objecte... per a emprar la finestra Busqueu un objecte per a seleccionar la Lluna des de la llista d'objectes. Cal tindre present que, com és habitual, el fet de centrar en un objecte inicia automàticament el mode de seguiment d'este, i per açò no hi ha cap necessitat d'afegir la funció setTracking després de lookToward.

Ara que hem pres cura d'apuntar a la Lluna, tot seguit desitgem establir un pas temporal accelerat. Utilitzeu la funció setClockScale per a açò. Afegiu-la a l'script fent doble clic damunt seu en el Navegador de funcions. El quadro Arguments de la funció contindrà un botó de selecció de valors de pas temporal per a establir-lo al temps desitjat per al rellotge de simulació. Canvieu el pas temporal a 3 hores.

BÉ, hem apuntat a la Lluna i accelerat el rellotge. Ara voldríem ajustar l'script perquè espere uns pocs segons mentre que es fa el seguiment de la Lluna. Afegiu la funció waitFor a l'script i utilitzeu el quadro Arguments de la funció per a especificar que s'haurà d'esperar 20 segons abans de continuar.

Per a acabar, reajustem el pas temporal del rellotge al valor normal d'1 segon. Afegiu una altra instància de setClockScale i establiu el seu valor a 1 seg.

Realment, encara no fa res. Probablement haurem d'assegurar-nos que la vista està emprant les coordenades equatorials abans que l'script faça un seguiment a la Lluna amb un pas temporal accelerat. D'altra manera, si la vista està emprant coordenades horitzontals, farà la rotació molt ràpidament amb grans angles com quan ix i es pon la Lluna. Açò pot resultar molt confós i s'evita establint l'opció UseAltAz de les Opcions de la vista a false (fals). Per a canviar qualsevol opció de la vista, utilitzeu la funció changeViewOption. Afegiu esta funció a l'script i examineu el quadro Arguments de la funció. Hi haurà una llista desplegable que conté el llistat de totes les Opcions de la vista que pot ajustar changeViewOption. Atés que sabem que volem l'opció UseAltAz, nosaltres podríem senzillament seleccionar-la des del quadro combinat. No obstant açò, resulta que la llista és inversemblantment llarga i no hi ha explicacions de per què servix cada element. Per tant, podria ser més fàcil prémer el botó Navega per l'arbre..., el qual obrirà una finestra que conté una vista en arbre de les opcions de la vista, organitzada per assumpte. A més, cada element disposa d'una curta explicació del que fa esta opció, i el tipus de dades del valor de l'opció. Trobarem UseAltAz davall la categoria Opcions per al mapa del cel. Senzillament ressalteu este element, premeu D'acord i este serà seleccionat en el quadro combinat del quadro Arguments de la funció. Finalment, feu que el seu valor siga false (fals) o 0.

Un pas més: El fet de tindre a UseAltAz al final de l'script no ens farà cap servei, necessitarem canviar açò abans que succeïsca res. Així doncs, assegureu-vos que esta funció estiga ressaltada al quadro Script actual i premeu el botó Mou amunt fins que esta siga la primera funció.

Ara que hem finalitzat l'script, hem de guardar-lo al disc. Premeu el botó Guarda l'script. Primer obrirà una finestra en la qual podreu indicar un nom per a l'script i el vostre com a autor. Introduïu Seguiment de la Lluna com a nom, i el vostre nom en el de l'autor, tot seguit premeu D'acord. Després, veureu al diàleg per a guardar fitxers estàndard de &kde;. Especifiqueu un nom de fitxer per a l'script i premeu D'acord per a guardar-lo. Cal tindre en compte que el vostre nom de fitxer no acabe amb .kstars, este sufix li serà afegit automàticament. Si sou curiós de mena, podeu examinar el fitxer de l'script amb qualsevol editor de text.

Ara que tenim l'script completat, podem executar-lo en un parell de maneres. Des d'un indicatiu en la consola, podeu senzillament executar l'script mentre una instància de &kstars; s'estiga executant actualment. De manera alternativa, també podeu executar l'script des de dintre de &kstars; emprant l'element de menú Fitxer Executa un script....