# Budowanie skryptów

Programy KDE mogą być kontrolowane przez inny program przy użyciu protokołu Interprocess communication protocol (DBus). Taka kontrola jest ma miejsce z wiersza poleceń, bądź przez skrypt. KStars korzysta z tych możliwości, co pozwala na budowanie skomplikowanych skryptów i uruchamianie ich w dowolnym czasie. W ten sposób można na przykład przygotować materiał szkoleniowy na lekcję ilustrujący pewne zagadnienie z dziedziny astronomii.

Pisanie skryptów DBus jest podobne do programowania, więc może wydawać się zadaniem trudnym dla tych, którzy nigdy tego nie próbowali. Narzędzie budowy skryptów dostarcza interfejsu GUI do budowy skryptów DBus, co znacznie ułatwia tworzenie rozbudowanych skryptów.

## Wprowadzenie do budowania skryptów

Przed wyjaśnieniem jak działa narzędzie budowy skryptów, krótko opiszemy podstawowe komponenty interfejsu GUI; więcej informacji można uzyskać wykorzystując funkcję "Co to jest?".

Narzędzie Budowanie skryptów
Narzędzie Budowanie skryptów

Powyżej pokazany jest wygląd narzędzia budowy skryptów. Po lewej stronie znajduje się okno Bieżący skrypt; zawiera ono listę poleceń składających się na obecnie tworzony skrypt. Po prawej stronie znajduje Przeglądarka funkcji; wyświetlająca listę wszystkich dostępnych w skryptach funkcji. Poniżej Przeglądarki funkcji znajduje się niewielki panel, wyświetlający krótką dokumentację wybranej funkcji. Panel pod oknem obecnie tworzonego skryptu to panel Argumenty funkcji; zawierający wymagane przez wybraną powyżej funkcję argumenty.

U góry okna znajduje się rząd przycisków, które mają zastosowanie przy skryptach. Od lewej są to: Nowy skrypt, Otwórz skrypt, Zapisz skrypt, Zapisz skrypt jako..., i Wypróbuj skrypt. Działanie tych przycisków powinno być oczywiste, może poza ostatnim. Wciśnięcie Wypróbuj skrypt spowoduje próbę uruchomienia bieżącego skryptu w głównym oknie KStars. Przed jego wciśnięciem powinno przesunąć się okno z treścią skryptu tak, aby było widać wyniki.

Na środku okna znajduje się kolumna przycisków, które mają zastosowanie do poszczególnych funkcji skryptu. Od góry do dołu są to: Dodaj funkcję, Usuń funkcję, Kopiuj funkcję, W górę i W dół. Dodaj funkcję dodaje obecnie zaznaczoną funkcję z przeglądarki funkcji do skryptu (to samo można osiągnąć przez podwójne kliknięcie nazwy funkcji). Pozostałe przyciski działają na funkcji zaznaczonej w polu skryptu. Powodują jej usunięcie, powielenie lub zmianę pozycji w skrypcie.

## Korzystanie z narzędzia budowania skryptów

Aby przedstawić korzystanie z narzędzia budowania skryptów pokażemy przykład, w którym tworzymy skrypt śledzący Księżyc, podczas gdy zegar działa w trybie przyspieszonym.

Jeżeli chcemy śledzić Księżyc musimy najpierw wyśrodkować go na ekranie. Wykorzystamy do tego funkcję lookToward. Zaznacz tą funkcję w przeglądarce funkcji i sprawdź jej dokumentację wyświetloną w panelu poniżej przeglądarki. Wciśnij przycisk Dodaj funkcję, aby dodać funkcję do pola bieżącego skryptu. Panel argumentów funkcji będzie zawierał listę rozwijaną o nazwie Kierunek. Wybiera się tam Jest to kierunek, w którym ma być skierowany ekran. List rozwijana zawiera tylko główne kierunki geograficzne, bez Księżyca czy innych obiektów. Możesz wprowadzić "Księżyc" ręcznie albo wcisnąć przycisk Obiekt aby skorzystać z okna Znajdź obiekt do znalezienia Księżyca z listy nazwanych obiektów. Pamiętaj, że jak zwykle wyśrodkowanie na obiekcie spowoduje włączenie trybu śledzenia. Nie ma więc potrzeby aby dodawać funkcję setTracking po funkcji lookToward.

Teraz, gdy wskazaliśmy Księżyc, chcemy spowodować aby czas płynął z przyśpieszoną prędkością. Wykorzystaj do tego funkcję setClockScale. Dodaj ją do skryptu poprzez podwójne kliknięcie w przeglądarce funkcji. Panel argumentów tej funkcji zawiera pole umożliwiające ustawienie kroku czasu dla zegara symulacji. Zmień wartość na 3 godziny.

Teraz chcemy tylko, aby skrypt zaczekał przez kilka sekund, żeby program wyśrodkował ekran na Księżycu. Dodaj do skryptu funkcję waitFor i skorzystaj z panelu argumentów funkcji aby ustawić wartość oczekiwania na 20 sekund.

Teraz zresetuj krok czasowy zegara na wartość domyślną 1 sekundy. Dodaj kolejne wywołanie funkcji setClockScale i ustaw jej wartość na 1.

Powinniśmy się jeszcze upewnić, że wykorzystywane są współrzędne równikowe, zanim skrypt będzie śledził Księżyc z przyśpieszonym krokiem czasu. Jeżeli będą wykorzystywane współrzędne horyzontalne nastąpi bardzo szybki obrót o duże kątywraz ze wschodem i zachodem Księżyca. Może być to bardzo irytujące, ale można temu zapobiec ustawiając opcję widokuUseAltAz na false. Aby zmienić dowolną opcję widoku wykorzystaj funkcję changeViewOption. Dodaj tą funkcję do skryptu. W panelu argumentów funkcji znajduje się lista rozwijana, która zawiera wszystkie opcje, które mogą być dostosowane za jej pomocą. Z listy tej należy wybrać opcję UseAltAz, możemy także wcisnąć przycisk Przeglądaj drzewo, który zawiera drzewo wszystkich dostępnych opcji, zorganizowane tematycznie. Dodatkowo każda pozycja zawiera krótki opis mówiący o tym, co dana funkcja robi i jakiego typu danych potrzebuje. UseAltAz można znaleźć w kategorii Opcje mapy nieba. Po wybraniu funkcja znajdzie się w odpowiednim polu okna narzędzia budowania skryptów. Zmień jeszcze jej wartość na false lub 0.

Jeszcze jeden krok: zmiana UseAltAz na samym końcu skryptu nic nie pomoże, potrzebna jest na samym początku. Zaznacz ją więc w polu skryptu i wciskaj przycisk W górę tak długo, aż UseAltAz będzie pierwszą funkcją skryptu.

Teraz, po skończeniu skryptu, należy zapisać go na dysku. Wciśnij przyciskZapisz skrypt. Spowoduje to otwarcie okna w którym należy wprowadzić nazwę skryptu, a także dane jego autora. Jako nazwę wprowadź Śledzenie Księżyca, natomiast w polu autora wpisz swoje imię i naciśnij OK. Teraz zobaczysz standardowe okno zapisu pliku w &kde;. Określ nazwę pliku dla skryptu i wciśnij OK, aby zapisać skrypt. Pamiętaj, że jeżeli nazwa pliku nie będzie kończyć się na .kstars, to ten przyrostek zostanie dodany automatycznie. Jeżeli ciekawi Cię wygląd takiego pliku, możesz go obejrzeć w dowolnym edytorze tekstu.

Skrypt możemy uruchomić na kilka sposobów. Jeżeli działa KStars możemy to zrobić z wiersza poleceń. Inna metoda to uruchomienie skryptu przez KStars po wybraniu opcji Uruchom skrypt z menu Plik.