Script : Start

De Celestia wiki

A chaque démarrage de Celestia, le Soleil s'affiche, puis la Terre. C'est du moins le cas des dernières versions du logiciel. Cette séquence est le fait d'un script nommé "start.cel", placé dans le dossier "Celestia\".

Ce script est à la fois un peu particulier et tout à fait banal !

  • Particulier dans le sens où il est lancé à chaque démarrage de Celestia.
  • Banal dans le sens où il est rédigé exactement comme n'importe quel autre script.



Que contient-il ?

{

preloadtex { object "Sol/Earth" }
preloadtex { object "Sol/Earth/Moon" }

select {object "Sol"}
goto {time 3.0 distance 30}
wait {duration 3.0}

select {object "Sol/Earth"}
follow {}
goto {time 3.0 distance 6.0}
wait {duration 2.0}

print {text "Welcome to Celestia!" row -3 column 1 duration 3}
wait {duration 3.0}

}


NB. Les très nombreux commentaires de ce script ont été supprimés. Il s'agit en fait d'un véritable lexique des commandes que je vous invite à lire si vous avez quelques notions d'anglais.

Détaillons les commandes :

 preloadtex { object "Sol/Earth" }
preloadtex { object "Sol/Earth/Moon" }

Les textures de la Terre et celles de la Lune sont d'emblée chargées en mémoire. Du coup, l'affichage de ces objets sera plus rapide le moment venu.

 select {object "Sol"}

L'objet "Sol" (notre Soleil) est sélectionné.

 goto {time 3.0 distance 30}

Ordonne à Celestia de se rapprocher de l'objet précédemment sélectionné (le Soleil). Ce "voyage" durera 3 secondes ("time 3.0"). Quant à la "caméra" de Celestia, elle se positionnera à une distance égale à (30+1) fois le rayon de l'objet ("distance 30"). Comme le rayon du soleil est de 696 000 km, Celestia se positionnera donc à 31 x 696 000 km de notre chère étoile, soit aux environs de 21 millions de km (ou vers 0,14 unités astronomiques). En ce qui concerne les unités utilisées par Celestia, rendez-vous sur la page Unités utilisées.

 wait {duration 3.0}

Celestia marque une pause de 3 secondes avant de passer à la commande suivante...

select {object "Sol/Earth"}