Dokumentacja Steamworks
Zrzuty ekranu na Steam

Wprowadzenie

Użytkownik może robić zrzuty ekranu w dowolnej grze, która obsługujefeatures/Nak%C5%82adk%C4%99%20Steam. Steamworks udostępnia zestaw interfejsów API, które umożliwiają interakcję z tym systemem. Zrzut ekranu API pozwala ci robić zrzuty ekranu, dodawać je do biblioteki zrzutów ekranu użytkowników wraz z dodatkowymi danymi (na przykład o lokalizacji w grze lub z oznaczeniem użytkowników, którzy są na tym zrzucie).
Uwaga: Nakładka Steam musi być aktywna w twojej grze, aby system zrzutów ekranu był dostępny.

Użytkownicy mogą użyć przycisku kontrolowanego przez Steam (domyślnie F12), aby zrobić zrzut z ekranu.

Użytkownik może zmienić domyślny przycisk oraz inne ustawienia, które będą obowiązywać w każdej grze na Steam, wybierając „Ustawienia w grze”.

screenshot_hotkey.png

Narzędzie do przesyłania zrzutów ekranu

Przed zakończeniem gry narzędzie do przesyłania zrzutów ekranu automatycznie się otworzy wraz ze wszystkimi zrzutami ekranu, które zostały zrobione podczas ostatniej sesji. Użytkownicy mogą wyłączyć tę funkcję poprzez wybranie Ustawień Chmury i odznaczenie „Otwórz narzędzie do przesyłania zrzutów ekranu po zakończeniu gry jeśli zostały one zrobione”.

screenshot_uploader.png

Dostęp do Narzędzia do przesyłania zrzutów ekranu jest możliwy również przez Steam poprzez „Wyświetl zrzut ekranu” lub poprzez kliknięcie „Zrzutów ekranu” w nakładce Steam.

Jeśli użytkownik prześle jakiekolwiek zrzuty ekranu, będą one widoczne na ich profilu społeczności i w centrum społeczności twojej gry.

Zrzuty ekranu API

Pakiet Steamworks SDK zapewnia dostęp do ISteamScreenshots. Pozwala on również na korzystanie z zaawansowanych funkcji i integruje system zrzutów ekranu z grą.

Domyślnie Steam zajmuje się tworzeniem zrzutów ekranu, ale możesz sam zarządzać tym procesem za pomocą ISteamScreenshots::HookScreenshots. Jeśli zdecydujesz się sam zarządzać tym procesem, otrzymasz wywołanie zwrotne ScreenshotRequested_t, w chwili, gdy użytkownik wybierze przycisk do wykonania zrzutu ekranu. Możesz to sprawdzić poprzez ISteamScreenshots::IsScreenshotsHooked.

Niezależnie od tego, czy sam kierujesz procesem, czy nie, otrzymasz odpowiedź zwrotną w postaci ScreenshotReady_t] za każdym razem, gdy zrzut ekranu zostanie zapisany na dysku. Jeśli wynik zapytania zwrotnego wskazuje na to, że proces powiódł się, możesz użyć ScreenshotHandle w celu ustawienia tagów:

Jeśli chcesz zrobić zrzuty ekranu za pomocą innego przycisku lub automatycznie w określonym momencie gry, na przykład na końcu rundy, możesz zrobić to zaprogramować za pomocą ISteamScreenshots::TriggerScreenshot, lub poprzez ISteamScreenshots::WriteScreenshot lub ISteamScreenshots::AddScreenshotToLibrary/ISteamScreenshots::AddVRScreenshotToLibrary.