Dokumentacja Steamworks
Nakładka Steam

Wprowadzenie

Nakładka Steam to część interfejsu użytkownika, która może zostać aktywowana na prawie każdej uruchomionej grze na Steam. Daje ona użytkownikowi dostęp do listy znajomych, przeglądarki, czatu oraz pozwala na kupowanie DLC w grze.

Domyślny skrót klawiszowy umożliwiający dostęp do nakładki Steam w grze to Shift+Tab, ale użytkownik może to zmienić w oknie dialogowym „Steam” -> „Ustawienia”.

Wymagania

Twoja gra nie musi robić niczego specjalnego, by nakładka zadziałała – jest ona podpinana do każdej gry uruchamianej na Steam! W trakcie rozwoju lub uruchamiania gry w debuggerze nakładka zostanie wczytana, gdy wywołasz SteamAPI_Init. Dlatego też musisz się upewnić, że wywołasz SteamAPI_Init przed inicjalizacją urządzenia OpenGL/D3D, w przeciwnym razie nie będzie możliwe podpięcie tworzenia urządzenia.

Nakładka obsługuje gry używające DirectX 7 — 12, OpenGL, Metal i Vulkan. Nakładka nie będzie aktywna w grach rasteryzowanych programowo.
UWAGA: nakładka jest automatycznie wyłączana dla aplikacji typu „Program”. Jeżeli potrzebujesz włączyć nakładkę, skontaktuj się z pomocą techniczną.

Aktywacja nakładki z poziomu twojej aplikacji

Istnieje zestaw funkcji w API Steamworks, który umożliwia bezpośredni dostęp do uruchomienia nakładki w grze.

Komunikacja nakładki z grą

Następujące sygnały (wywołania zwrotne) są wysyłane przez Steam do twojej gry w oparciu o działanie, jakie podjął użytkownik w nakładce:
  • GameOverlayActivated_t
    Wysyłane, kiedy nakładka zostaje aktywowana lub dezaktywowana. Gra może to wykorzystać do spauzowania lub wznowienia rozgrywki w grach jednoosobowych.
  • GameServerChangeRequested_t
    Wysłane, gdy użytkownik wybierze grę swojego znajomego, do której chce dołączyć. Zawiera szczegóły na temat serwera gry, do którego chce dołączyć.
  • GameServerChangeRequested_t
    Wysłane, gdy użytkownik wybierze grę swojego znajomego, do której chce dołączyć. Zawiera szczegóły na temat poczekalni, do której chce dołączyć.

Najczęściej zadawane pytania

UWAGA: Dodatkowe informacje możesz znaleźć na stronie pomocy technicznej przeznaczonej dla klientów.

P: Dlaczego nakładka Steam powoduje nagłe zamknięcie mojej aplikacji?

O: Nakładka Steam jest używana w tysiącach gier, więc została bardzo dokładnie przetestowana i rzadko jest powodem nieoczekiwanego zamknięcia aplikacji. Jednak ze względu na sposób, w jaki ingeruje w grę, czasami może ona ujawnić wycieki lub uszkodzenie pamięci podczas używania twojego API do renderowania, co mogło wcześniej nie mieć wpływu na rozgrywkę.

Aby na przykład zdiagnozować nieoczekiwanie zamknięcia podczas korzystania z DirectX, spróbuj ustalić, co spowodowało niepoprawny stan D3D, korzystając z debuggera w trakcie wykonywania programu korzystającego z D3D wraz z wyświetlaniem wszystkich komunikatów (informacje, ostrzeżenia, błędy, powiadomienia). Istnieje możliwość, że dzięki temu uzyskasz informacje o utraconych zasobach D3D. Jeśli nic w ten sposób nie znajdziesz, może być to bardziej ogólny problem uszkodzenia pamięci. Jeżeli taka awaria ma miejsce przy zamknięciu gry, to najprawdopodobniej istnieje problem ze zwalnianiem zasobów gry w odpowiedniej kolejności przy zamknięciu.

Jeśli po debugowaniu aplikacja nadal nieoczekiwanie zamyka się po włączeniu nakładki Steam, poinformuj nas o tym w grupie Steamworks Development.

P: Dlaczego nakładka Steam nie pojawia się w mojej aplikacji?

O: Na początek upewnij się, że spełniasz powyższe wymagania. Jeśli spełniasz wymagania i nakładka nadal się nie pojawia, upewnij się, że uruchamiasz aplikację poprzez klienta Steam albo bezpośrednio z poczekalni/listy szybkiego startu, albo poprzez wywołanie SteamAPI_RestartAppIfNecessary.

P: Moja gra korzysta z DirectX 12 w systemie Windows 7 i nakładka Steam nie działa. Dlaczego?

O: Sprawdź ten dokument firmy Microsoft odnośnie dodawania obsługi nakładki Steam.