리치 프레즌스 문자열 구성
이 항목에서는 리치 프레즌스 문자열이 구성되는 방식에 대해 설명합니다.
문자열
리치 프레즌스 문자열의 경우 문자열 집합을 정의해야 합니다. 각 문자열 집합에 식별자로 사용할 친숙한 이름을 지정하는 것이 좋습니다.
생성하는 각 문자열 세트에는 게임이 출시될 로캘에 맞게 지역화된 문자열 그룹이 포함되어야 합니다.
지역화된 문자열 외에도 문화권 중립적 문자열도 제공해야 합니다. 이 문자열은 지정되지 않은 로캘에 대한 요청이 있는 경우 사용됩니다.
각 문자열 세트는 문자열을 매개 변수화하여 더욱 향상시키는 방식으로 게임 내 데이터를 사용할 수도 있습니다. 문자열 집합은 결과 문자열이 문자 제한을 초과하지 않는 한 원하는 만큼 매개 변수를 가질 수 있습니다. 자세한 내용은 리치 프레즌스 문자열에 대한 정책 및 제한을 참조하세요.
열거형
다음과 같이 설명되는 열거형은 Xbox Live 플레이어 데이터의 이벤트를 통해 정의됩니다.
통계
리치 프레즌스 문자열에 숫자로 된 통계값을 사용할 수 있습니다. 예를 들어, 슈팅 게임에서 리치 프레즌스 문자열에 플레이어가 현재 몇 명을 죽였는지 표시할 수 있습니다.
이 구성은 매개 변수를 "킬 수" 통계로 바꿔야 한다는 것을 보여주기만 하면 됩니다. 공용 스키마 이벤트 지정 시스템을 통해 생성되었으며 Xbox Live 플레이어 통계 서비스에 전달되거나 전달되어 플레이어 데이터로 변환됩니다. 통계는 통계 구성을 사용하여 정의해야 합니다.
다른 플레이어가 문자열을 읽으면 리치 프레즌스 서비스가 "킬 수" 통계에 대한 최신 값을 검색합니다. 결과적으로 문자열은 항상 최신 상태입니다.
상태
리치 프레즌스 문자열에 실제 상태 값을 나타내는 통계를 사용할 수도 있습니다. 예를 들어, 레이싱 게임의 경우 플레이어가 현재 어떤 차를 운전하고 있고 어떤 맵이나 트랙에서 레이싱을 하고 있는지 보여주는 리치 프레즌스 문자열을 사용할 수 있을 것입니다.
다음 두 단계를 사용하여 상태 정보를 구성할 수 있습니다.
게임 내 문자열에 대한 열거를 정의합니다. 예를 들어 게임에 5개의 맵이 있고 해당 맵이 리치 프레즌스 문자열의 일부가 되도록 하려면 5개의 맵도 지역화된 문자열로 열거해야 합니다.
이 열거형을 통계에 연결합니다. 리치 프레즌스 서비스는 통계 값을 조회하여 플레이어 데이터에서 가장 최신 값을 다시 검색합니다. 그런 다음 통계가 변환되는 열거형 값을 결정합니다.
예시 게임
나머지 예제에서는 최신 버킷 킥 게임을 작업 중이라고 가정합니다. 각 버킷 유형에 대한 통계를 생성하고 리치 프레즌스 문자열을 사용하여 통계를 표시하려고 합니다.
게임 규칙은 다음과 같다고 가정합니다.
버킷 유형은 목재, 은색 및 황금색입니다.
위치는 산, 사막 및 해변입니다.
양동이는 발로 차면 부서집니다. 항상 더 많은 버킷을 검색해야 합니다.
일부 버킷은 성공적으로 걷어차기 위해 특수 장비가 필요합니다. 예를 들어 발차기를 견딜 수 있을 만큼 튼튼한 부츠가 필요합니다.
이 게임에는 멀티플레이어 모드가 있습니다. 충분한 수의 플레이어가 동시에 양동이를 차려고 하는 경우 특정 부팅이 필요하지 않습니다.
이 게임의 경우 리치 프레즌스 문자열 구성은 다음과 같습니다.
리치 프레즌스에 대한 통계 구성
리치 프레즌스 문자열에서 Xbox Live 플레이어 데이터에 의해 생성된 통계를 사용하려면 리치 프레즌스 서비스가 통계의 이름을 알아야 합니다.
열거 구성 예
다음은 몇 가지 열거형을 정의하는 예입니다.
게임에서 맵에 대한 열거형을 만듭니다. 게임에는 3개의 맵이 있습니다. 그들은 각각 쉽게 참조할 수 있도록 식별 이름을 얻습니다.
각 로캘에 대해 해당 맵 이름에 대한 지역화된 문자열을 작성하세요. 전체 기본 지역화가 있고 문화 중립적인 지역화가 있습니다.
게임에서 세 가지 무기를 고려하세요. 그들은 친숙한 이름과 지역화된 문자열을 가지고 있습니다. 이것은 모든 열거에 대한 것입니다.
열거형 | 관련된 통계 | 식별 이름 | 지역/국가 | 문자열 |
---|---|---|---|---|
Map | CurrentMap | Map_Mountains | 기본 | Mountains |
en | Mountains | |||
en-US | Mountains | |||
en-GB | Mountains | |||
de-DE | Gebirge | |||
기타 로캘 | ||||
Map_Desert | 기본 | Desert | ||
en | Desert | |||
en-US | Desert | |||
en-GB | Desert | |||
de-DE | Wuste | |||
기타 로캘 | ||||
Map_Beach | 기본값 | Beach | ||
en | Beach | |||
en-US | Beach | |||
en-GB | Beach | |||
de-DE | Strand | |||
기타 로캘 | ||||
Boot | CurrentWeapon | Boot_Light | 기본 | Light |
en | Light | |||
en-US | Light | |||
en-GB | Light | |||
de-DE | Leicht | |||
기타 로캘 | ||||
Boot_Medium | 기본 | Medium | ||
en | Medium | |||
en-US | Medium | |||
en-GB | Medium | |||
de-DE | Mittel | |||
기타 로캘 | ||||
Boot_Strong | 기본 | Strong | ||
en | Strong | |||
en-US | Strong | |||
en-GB | Strong | |||
de-DE | Stark | |||
기타 로캘 |
문자열 구성 예
이제 열거형과 통계를 정의하였으므로 문자열을 만들 수 있습니다.
다음 예제 테이블에서 첫 번째 열은 한 문자열 집합과 다른 문자열 집합을 참조하는 데 도움이 되는 식별 이름입니다. 이 예에서 문자열 "playingMap"은 첫 번째 문자열 집합에 사용되고 "totalKicked"는 두 번째 문자열에 사용되며 "multiplayer"는 세 번째 문자열에 사용됩니다.
지역/국가-문자열 쌍
다음 두 개의 열이 함께 들어갑니다. 리치 프레즌스 문자열에 대한 로캘-문자열 쌍입니다.
첫 번째 예에서는 영어로 "Playing on {0}" 문자열이 사용됩니다. {0} 토큰은 값으로 대체됩니다.
그런 다음 문자열은 다른 로캘에 맞게 지역화됩니다.
열거형과 마찬가지로 기본 문자열과 문화권 중립 문자열이 있어야 합니다. 플레이어가 로캘-문자열 쌍을 지정하지 않은 로캘을 사용할 때 사용됩니다. 열거에 사용되는 로캘은 문자열의 로캘과 일치해야 합니다.
문자열을 만드는 매개 변수
마지막 열은 리치 프레즌스 문자열의 공백을 채우는 데 사용되는 매개 변수에 대한 것입니다.
프레즌스 서비스가 통계 서비스에 있는 매개 변수의 값을 검색하게 하려면 여기의 매개 변수를 참조하는 통계 이름을 사용해야 합니다. 문자열에서 통계를 사용하면 통계를 한 번 설정할 수 있습니다. 다시 작성할 필요가 없습니다.
문자열에 맵 이름이 있고 CurrentMap
통계를 사용하여 공백을 채우는 경우 플레이어가 게임에서 맵 사이를 이동할 때 리치 프레즌스 서비스가 문자열을 적절하게 업데이트합니다.
리치 프레즌스 문자열에서 통계를 사용하지 않으면 매개 변수를 지정할 수 없습니다.
다음 예제 테이블에서 첫 번째 문자열의 통계에 의해 생성된 현재 맵을 사용합니다. 두 번째 문자열에서 BucketsKicked
통계를 사용합니다.
세 번째 예는 매개 변수를 포함하지 않습니다. 문자열은 자체적으로 정의됩니다. 그것은 통계를 참조하지 않습니다.
식별 이름 | 지역/국가 | 문자열 | 매개 변수 |
---|---|---|---|
playingMap | 기본 | Playing on map:{0} | CurrentMap |
en | Playing on map:{0} | ||
en-US | Playing on map:{0} | ||
en-GB | Playing on map:{0} | ||
de-DE | auf Karte spielen: {0} | ||
기타 로캘 | |||
totalKicked | 기본 | Kicked {0} Buckets! | BucketsKicked |
en | Kicked {0} Buckets! | ||
en-US | Kicked {0} Buckets! | ||
en-GB | Kicked {0} Buckets! | ||
de-DE | {0} Eimer getreten! | ||
기타 로캘 | |||
multiplayer | 기본 | Playing multiplayer | |
en | Playing multiplayer | ||
en-US | Playing multiplayer | ||
en-GB | Playing multiplayer | ||
de-DE | Mehrspieler spielen | ||
기타 로캘 |
생성할 수 있는 문자열의 수에는 제한이 없지만 게임에는 최소한 하나의 문자열이 있어야 합니다.
BucketsKicked
은(는) 문자열에서 대체되는 숫자일 뿐입니다.
CurrentMap
은(는) 문자열이 열거형에서 오는 통계의 예입니다.
게임에서 리치 프레즌스를 이러한 문자열 중 하나로 설정하면 구성을 사용하여 어떤 매개 변수가 필요한지 알 수 있습니다.