Przewodnik stylu GUI
Dokumentacja programistyczna OpenTTD
Linki zewnętrzne

OpenTTD GitHub
Wkład w OpenTTD - wytyczne
OpenTTD Doxygen

Informacje Ogólne

Styl kodowania
Kompilowanie OpenTTD
Debugowanie
Dodanie ustawienia
Dodanie funkcji squirrel
Zrozumienie obsługi SaveGame
Wyznaczenie wersji gry zapisanej
Wykonanie wydania OpenTTD

Języki i Ciągi znaków

Podręcznik stylu
Format plików lang
Użycie ciągów OpenTTD
Lista ciągów specjalnych

System Okna

Użycie systemu okna
Kody kolorów istniejących w OpenTTD
Dodawanie pola tekstowego
Zrozumienie widget focus system
Przewodnik stylu GUI

Tryb wieloosobowy

OpenTTD TCP protokół
OpenTTD UDP protokół
Debugowanie desynchronizacji
Rozwój Portu Administratora Serwera

Konsola (w grze)

Okno konsoli
Komendy konsoli
Zmienne konsoli
Używanie skryptu konsoli
Dodanie funkcji/komend do konsoli
Dodanie zmiennych do konsoli
Historia rozwoju Konsoli

Interfejsy API (ramy modowania)

Grafika i podobne (NewGRFy)
Środowisko AI (NoAI)
Framework GS (NoGO)

Inne odniesienia

Tablica map (siatka pozioma)
Pojazdy
Wyszukiwanie trasy
Przyspieszenie pociągu

/File/en/UnderConstructionOrange.png
Niekompletne
Przepraszamy, strona jest niekompletna. Jest w trakcie budowy.

Ważny jest spójny wygląd interfejsu użytkownika. Ta strona dokumentuje, w jaki sposób program powinien prezentować się użytkownikowi i jak powinien reagować na interakcje użytkownika.

Contents

Układ okna

Ponieważ OpenTTD jest grą z lat 90., powinien również mieć taki wygląd.

Przykład depotu kolejowego
Przykład okna wiadomości

Ponieważ w tym czasie na ekranie było mało miejsca, okna powinny być zwarte. Każdy element okna służy do wyświetlania informacji lub udostępniania interakcja użytkownika. W przypadku okien z mniejszą ilością informacji reguły te są nieco poluzowane, okno po prostu zadające pytanie tak/nie musi być ostatecznie zwarte.

Widżety

Okno powinno mieć title bar (pasek tytułowy). Pasek tytułu wyświetla tekst informujący o zawartości okna. Należy również pamiętać, że ciąg tekstowy na pasku tytułu jest zwykle wyśrodkowany. W przypadku okien wyświetlających dane firmy kolor tła musi być w kolorze firmowym. Można go również użyć do przeciągnięcia okna w inne miejsce na ekranie oraz przyciemnienia i odcieństwa okna za pomocą kółka myszy.

Po lewej stronie paska tytułowego powinien istnieć closebox , aby umożliwić użytkownikowi zamknięcie okna (zauważalnym wyjątkiem jest okno na ekranie wprowadzającym). Najlepiej, aby ten przycisk był także jedynym sposobem na usunięcie okna. Jeśli niezapisane zmiany istnieją, gdy użytkownik zamyka okno, należy o tym poinformować, aby mógł podjąć odpowiednie działania.

Po prawej stronie paska tytułu może znajdować się przycisk debugowania grf, przycisk cieniowania i przycisk lepki. grf debug button (Przycisk debugowania grf) (zwykle ukryty, ale włączany przez ustawienie) służy do otwierania okna programowania do monitorowania stanu wewnętrznego grf. Przycisk powinien zostać dodany do okna tylko wtedy, gdy wyświetla obiekt gry, który ma GRF do kontrolowania jego zachowania lub wyglądu.

shading button {Przycisk cieniowania} służy do złożenia okna do samego paska tytułu (i rozwinięcia go ponownie do pełnej zawartości), aby zaoszczędzić miejsce na ekranie dla okien, które nie zawsze są potrzebne. Tego przycisku należy używać tylko w przypadku okien, które mogą pozostawać otwarte przez dłuższy czas.

Po prawej stronie okna można dodać lepki przycisk (sticky button) . Zapobiega zamknięciu okna podczas korzystania z klawisza usuń (delete) (który zamyka wszystkie nieprzylepne, niepotrzebne okna). Podobnie jak przycisk cieniowania, przycisk lepki należy dodawać tylko w przypadku okien, które mogą pozostać otwarte przez dłuższy czas.

Jeśli użytkownik może zmienić rozmiar okna , w prawym dolnym rogu powinna znajdować się resizebox .

Pole edycji tekstu służy do edytowania/wpisywania tekstu przez użytkowników. Aby edytować zawartość pola edycji, użytkownik musi kliknąć pole edycji, aby ustawić fokus. Skoncentrowane pola edycyjne mają migającą kreskę. Gdy użytkownik korzysta z edycji pól edycji, dobry pomysł jest kliknięcie przycisku/panelu itp. W celu cofnięcia ostrości pól edycji, ponieważ nie można użyć klawiszy skrótu, gdy pole edycji jest globalnie fokusowany. W jednym oknie może znajdować się maksymalnie jedno pole edycyjne.

/File/en/Klipper.png
Do poprawki
panele, przyciski

Fokus (Focus)

W niektórych oknach warto domyślnie ustawić fokus na polu edycyjnym, ale jest z tym problem: gdy pola edycyjne są fokusowe, nie można używać żadnych klawiszy skrótu, ponieważ wszystkie dane z klawiatury są wysyłane do pola edycyjnego.

Dlatego większość okien domyślnie nie powinna skupiać się na polach edycyjnych. Wyjątkiem są okna takie jak okno ciągu zapytania, którego jedynym celem jest umożliwienie użytkownikom edycji ciągu.

Zobacz Widget Focus artykuł, aby uzyskać więcej informacji na temat działania systemu ustawiania ostrości. Local vs. global focus etc.

Kolory okien

Kolor okna wskazuje rodzaj informacji, które są wyświetlane i nimi manipulowane.

Kolor Rodzaj okna
Brown Konfiguracja gry, neutralne okna (mała mapa, lista miast/branży)
Purple Opcje i ustawienia
Grey Okna firmy (pojazdy, finanse), narzędzia programistyczne (debugowanie newgrf, debugowanie AI), okna zapisywanie/ładowanie
Green Okna konstrukcyjne, paski narzędzi
Light blue Wybór wielu graczy (okna sieciowe)
Light red Inne władze (miasta, branże)
Blue Wiadomości niepilne
Red Wiadomości wymagające uwagi (błędy, zamknij wiadomość)
White Gazeta

Działania myszy

Użytkownik powinien być w stanie zrobić jak najwięcej za pomocą jednego kliknięcia lewym przyciskiem myszy ( single left mouse click ). W przypadku list takie kliknięcie oznacza wybór elementu w lista. W przypadku przycisków kliknięcie oznacza wykonanie akcji dołączonej do przycisku. W przypadku akcji powiązanych, które również często występują, kombinacja przytrzymania klawisza CTRL i kliknięcia lewym przyciskiem myszy może wywołać akcję powiązaną. Takie kliknięcie należy jednak traktować wyłącznie jako skrót. Nie wszyscy użytkownicy wiedzą, że możesz użyć klawisza CTRL, i taki użytkownik powinien być w stanie wykonać tę samą akcję bez użycia klawisza CTRL.

Podwójne lewe kliknięcie ( double left click ) jest przydatne do wykonania akcji z wybranym elementem na liście. Podobnie jak w przypadku klawisza CTRL, nie wszyscy użytkownicy mogą zrozumieć, że podwójne kliknięcie jest możliwe, dlatego lepiej jest mieć również inne środki (na przykład przycisk), aby osiągnąć to samo działanie (np. Przez naciśnięcie przycisku).

Naciśnięcie prawego przycisku myszy ( Pressing the right mouse button ) powinno wywołać tekst pomocy dotyczący części okna, którą jest wskaźnik myszy. Jeśli część ma specjalne możliwości interakcji, takie jak podwójne kliknięcie lub użycie klawisza CTRL, należy o tym wspomnieć w tekście pomocy.

Przeciąganie myszy ( Dragging the mouse ) , przytrzymując lewy przycisk myszy, powinno być używane do oznaczania ruchu przedmiotu wskazanego na początku przeciągania, do położenia myszy, gdy przycisk jest zwolniony. Typowym zastosowaniem jest przeniesienie przedmiotu w inne miejsce (na przykład wagon).

Koła myszy ( mouse wheel ) należy używać do wyrażania ruchu w górę i/lub w dół. Typowe zastosowanie to przesuwanie w górę i w dół pasków przewijania i list, ale jest również używane do cieniowania i usuwania cieniowania okien (za pomocą kółka myszy na pasku tytułu). Innym zastosowaniem jest powiększanie i pomniejszanie.

Działania klawiatury