Dokumentacja Steamworks
Zrzuty ekranu Steam

Wprowadzenie

Obsługa zrzutów ekranu jest oferowana automatycznie poprzez nakładkę w każdej grze na Steam, a Steamworks zapewnia zbiór API stworzonych do interakcji z tym systemem. API Steamworks dla zrzutów ekranu pozwala ci wykonać zrzut ekranu i dodać go do lokalnej biblioteki zrzutów ekranu użytkownika z dodatkowymi metadanymi jak np. nazwa lokacji w twojej grze lub oznaczyć użytkowników, którzy pojawili się na zrzucie ekranu.
UWAGA: nakładka Steam musi być aktywna w twojej grze, aby system zrzutów ekranu był dostępny.

Użytkownicy mogą użyć skrótu klawiszowego kontrolowanego przez Steam (domyślnie F12), aby wykonać zrzut ekranu.

Użytkownik może zmienić domyślny skrót klawiszowy oraz inne ustawienia obowiązujące w każdej grze na Steam, przechodząc do zakładki „W grze” w ustawieniach klienta Steam.

screenshot_hotkey.png

Narzędzie do przesyłania zrzutów ekranu

Po wyjściu z gry narzędzie do przesyłania zrzutów ekranu otworzy się automatycznie wraz ze wszystkimi zrzutami ekranu, które zostały wykonane podczas ostatniej sesji. Użytkownicy mogą wyłączyć takie zachowanie, przechodząc do zakładki „Cloud” w ustawieniach klienta Steam i odznaczając „Otwórz narzędzie do przesyłania zrzutów ekranu po wyłączeniu gry, jeśli wykonano jakieś zrzuty ekranu”.

screenshot_uploader.png

Dostęp do narzędzia do przesyłania zrzutów ekranu można również uzyskać w dowolnym momencie w Steam, przechodząc do „Widok” -> „Zrzuty ekranu” lub klikając „Zrzuty 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.

API zrzutów ekranu Steam

Steamworks SDK zapewnia dostęp do ISteamScreenshots, umożliwia korzystanie z zaawansowanych funkcji oraz integruje system zrzutów ekranu z twoją grą, aby jak najlepiej przysłużyć się użytkownikom.

Domyślnie Steam zajmuje się wykonywaniem zrzutów ekranu, ale możesz przejąć nad nim kontrolę i samodzielnie, przechwytując zrzuty ekranu za pomocą ISteamScreenshots::HookScreenshots. Jeśli zdecydujesz się to robić, będziesz otrzymywać wywołanie zwrotne ScreenshotRequested_t w momencie, gdy użytkownik wciśnie skrót klawiszowy wykonywania zrzutów ekranu. Możesz sprawdzić, czy obecnie przechwytujesz zrzuty ekranu za pomocą ISteamScreenshots::IsScreenshotsHooked.

Niezależnie od tego, czy samodzielnie przechwytujesz zrzuty ekranu, czy nie, będziesz otrzymywać wywołanie zwrotne ScreenshotReady_t] za każdym razem, gdy zrzut ekranu zostanie pomyślnie zapisany na dysku. Po otrzymaniu tego wywołania zwrotnego należy sprawdzić jego rezultat i jeżeli był on pomyślny, możesz użyć ScreenshotHandle w celu ustawienia oznaczeń:

Jeśli chcesz wykonywać zrzuty ekranu za pomocą własnego przycisku lub automatycznie w określonym momencie gry (np. na końcu rundy), możesz to zaprogramować za pomocą ISteamScreenshots::TriggerScreenshot, zapisując bajty zawierające RGB za pomocą ISteamScreenshots::WriteScreenshot lub dodając plik z dysku za pomocą ISteamScreenshots::AddScreenshotToLibrary/ISteamScreenshots::AddVRScreenshotToLibrary.