Potrzebuję określonej listy katalogów, jednego lub więcej na platformę, gdzie umieścić pliki zapisywania gier i inne dane generowane przez grę . Albo na podstawie specyfikacji programisty systemu operacyjnego, albo dlatego, że nie ma rekomendacji.
Podaj jedną odpowiedź na platformę , z różnymi katalogami. Najlepszym przykładem jest sposób uzyskania lokalizacji katalogu w C ++ lub C , ponieważ jest to język, w którym będziesz miał więcej trudności.
Lokalizacje:
- Dane gry gracza (zapisane gry, konfiguracja).
- Wspólne dane gry (takie jak najlepszy wynik lub konfiguracja dla wszystkich użytkowników komputerów).
- Tymczasowe dane gry (inaczej katalog pamięci podręcznej).
Odpowiedzi:
Windows (XP i kolejne)
Oparte na:
W tych lokalizacjach założono, że system Windows jest zainstalowany na dysku C:. Dołącz własny katalog z nazwą gry lub firmą, a następnie nazwą gry do tych katalogów.
Jeśli używasz aplikacji w stylu Windows 8 Metro , będziesz musiał użyć konkretnego interfejsu API zamiast próbować dotrzeć do katalogów. Czytać:
Dane gry gracza
Windows Vista i następujące:
Windows XP:
Możesz automatycznie uzyskać właściwy adres zależny od nazwy użytkownika, pobierając
APPDATA
zmienną środowiskową .Standard C (wszystkie kompilatory):
Visual Studio 20xx ( unikaj ostrzeżenia getenv () mówiącego, że to nie jest bezpieczne ) - nie w stylu Metro:
Zwiększ użytkowników : w tej chwili piszę ten boost.filesystem (który jest także szkicem biblioteki systemu plików zaproponowanym do następnego standardu C ++) nie implementuje jeszcze funkcji zapewniającej właściwy katalog. Jednak wcześniej o tym dyskutowano . Zaktualizuj tę sekcję, jeśli coś się zmieniło.
Udostępnione dane gry
Windows Vista i następujące:
Windows XP:
Możesz automatycznie uzyskać właściwy adres, uzyskując
PROGRAMDATA
zmienną środowiskową .Standard C (wszystkie kompilatory):
Visual Studio 20xx ( unikaj ostrzeżenia getenv () mówiącego, że to nie jest bezpieczne ) - nie w stylu Metro:
Zwiększ użytkowników : w tej chwili piszę ten boost.filesystem (który jest także szkicem biblioteki systemu plików zaproponowanym do następnego standardu C ++) nie implementuje jeszcze funkcji zapewniającej właściwy katalog. Jednak wcześniej o tym dyskutowano . Zaktualizuj tę sekcję, jeśli coś się zmieniło.
Tymczasowe dane gry
Windows Vista i następujące:
Windows XP:
Możesz automatycznie uzyskać właściwy adres, uzyskując
TEMP
zmienną środowiskową .C ++ użytkowników Boost : jest prosty cross-platform funkcja boost.filesystem tego
Standard C (wszystkie kompilatory):
Visual Studio 20xx ( unikaj ostrzeżenia getenv () mówiącego, że to nie jest bezpieczne ) - nie w stylu Metro:
źródło
System operacyjny Mac
Oparte na:
W systemie operacyjnym opartym na Uniksie
~
katalog jest automatycznie zlokalizowany w katalogu osobistym użytkownika, w którym znajdują się dane specyficzne dla użytkownika. Oznacza to, że niezależnie od języka, na tych platformach można automatycznie uzyskać dostęp do tego folderu, używając~
zamiast funkcji specyficznej dla systemu operacyjnego. Należy również pamiętać, że/
jest to ścieżka do katalogu głównego całego systemu, a nie ścieżka do katalogu głównego dysku głównego.Dołącz własny katalog z nazwą gry lub firmą, a następnie nazwą gry do tych katalogów.
Dane gry gracza
Wytyczną Apple jest zlokalizowanie tam zapisywanych i konfigurowanych plików, aby były one automatycznie zapisywane w chmurze, jeśli są dostępne:
Jednak lepszą (i częściej stosowaną) praktyką jest zlokalizowanie tych plików w:
Po prostu wiedz, że w tym przypadku pliki nie zostaną automatycznie zapisane w chmurze. Jeśli chcesz, aby gracz wybrał, użyj interfejsu API platformy, aby go wybrać.
Udostępnione dane gry
Zauważ, że nie ma
~
, nie jest to związane z domem użytkownika, ale z rootem systemu.Tymczasowe dane gry:
Jeśli dane nie muszą być przechowywane między wykonaniami:
Jeśli dane muszą być przechowywane między egzekucjami;
C ++ użytkowników Boost : jest prosty cross-platform funkcja boost.filesystem tego
źródło
~/Documents
. To użytkownik musi zorganizować; nigdy nie powinieneś pisać do stałej ścieżki w Dokumentach. Twoja gra powinna używać~/Library/Application Support/Your App Name/
do zapisywania i innych danych użytkownika.Debian Linux (Ubuntu, Fedora itp.)
Oparte na:
W systemie operacyjnym UNIX katalog ~ jest automatycznie zlokalizowany w katalogu osobistym użytkownika, w którym znajdują się dane specyficzne dla użytkownika. Oznacza to, że niezależnie od języka, na tych platformach można automatycznie uzyskać dostęp do tego folderu, używając ~ zamiast funkcji specyficznej dla systemu operacyjnego. Zauważ też, że / jest ścieżką katalogu głównego całego systemu, a nie ścieżką do katalogu głównego dysku głównego.
Dołącz własny katalog z nazwą gry lub firmą, a następnie nazwą gry do tych katalogów.
Dane gry gracza
Tradycyjnie dla gry Aquaria byłoby to:
Pamiętaj, że katalogi i pliki zaczynające się od
.
będą domyślnie ukryte dla użytkownika.Większość komputerów stacjonarnych próbuje teraz przestrzegać specyfikacji XDG , która zaleca
lub
zamiast tego do konfiguracji i zapisywania.
Jeśli
$XDG_CONFIG_HOME
nie ustawione, użyj:lub
Ma to głównie na celu uporządkowanie katalogu domowego użytkownika, a także umożliwienie użytkownikom uruchamiania wielu profili aplikacji, jeśli uznają to za konieczne. Istnieją również inne dedykowane katalogi specyficzne dla użytkownika w specyfikacji.
Udostępnione dane gry
Udostępnione pliki konfiguracyjne powinny znajdować się w
Tymczasowe dane gry
źródło