Robienie własnych kontrolek jest bardzo proste (przynajmniej na początku). Chciałem zrobić prostą kontrolkę z przełącznikiem do włączania zaworów paliwa. Potrzebujemy 3 pliki:
- plik xml z gaugem
- plik bmp dla pozycji ON kontrolki
- plik bmp dla pozycji OFF kontrolki
Pliki BMP muszą mieć kolor 8-bitowy (indeksowany). Kolor czarny (#000000) jest interpretowany przez FS jako przezroczystość, dlatego należy stosować #010101 dla czerni (wygląda identycznie).
Przykładowe kontrolki:
- - funkcja włączona
- - funkcja wyłączona
- Przykładowe kompletne gauge do pobrania.
Pliki powinny znaleźć się w utworzonym podkatalogu w katalogu Gauges w FS.
Objaśnienia do poniższego kodu XML
- Gauge Name="..." - nazwa gauge'a, nieistotna
- A:GENERAL ENG FUEL VALVE:1,bool - zmienna symulatora (lista wszystkich tutaj: Zmienne w symulatorze
- <Image Name="ap_led_green.bmp" ImageSizes="17,17"/> - nazwa pliku, oraz jego rozmiary (to będą też rozmiary domyślne gauge'a. Oddzielny rysunek dla włączonej i wyłączonej kontrolki.
- Bright="true" - można to dodać do powyższej sekcji Image, aby kontrolka nie była przyciemniana w nocy (wielkość liter jest ważna!).
- K:TOGGLE_FUEL_VALVE_ENG1 - funkcja do wykonania w momencie kliknięcia gauge'a. Lista funkcji znajduje się w pliku List_of_FS2004_controls.PDF w pakiecie FSUIPC
Poniżej znajduje się plik XML. Wystarczy zmienić funkcje A:.... i K:..., aby kontrolka działała tak jak chcemy. Jeśli usuniemy funkcję K:..., to kontrolka nie będzie klikalna (np. na panelu informacyjnym).
<Gauge Name="TOGGLE_FUEL_VALVE_ENG1" Version="1.0">
<Element>
<Select>
<Value>(A:GENERAL ENG FUEL VALVE:1,bool)</Value>
<Case Value="1">
<Image Name="ap_led_green.bmp" ImageSizes="17,17"/>
</Case>
<Case Value="0">
<Image Name="ap_led_red.bmp" ImageSizes="17,17"/>
</Case>
</Select>
</Element>
<Mouse>
<Help ID="HELPID_GAUGE_LIGHT_SWITCH_TAXI"/>
<Cursor Type="Hand"/>
<Click>(>K:TOGGLE_FUEL_VALVE_ENG1)</Click>
</Mouse>
</Gauge>
Jak dodać gauge do panelu?
We właściwym oknie w pliku panel.cfg dopisz np: gauge39=SW!eng1_fuel_valve, 284,499,17,17, gdzie:
- gauge39 to kolejny numer gauge'a
- SW - nazwa podkatalogu w Gauges, gdzie umiesciłeś pliki
- eng1_fuel_valve - nazwa pliku XML (bez rozszerzenia .xml)
- 284,499 - pozycja w oknie, gdzie ma się pojawić gauge
- 17,17 - rozmiar gauge'a
Przykład implementacji
Przyciski otoczone na rysunku czerwoną linią zostały przygotowane na podstawie powyższego poradnika.