Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vytvářejte prostředí interakce v aplikaci Windows App SDK, která dobře fungují se vstupem gamepadu a vzdáleného ovládání, a to kromě myši, klávesnice a dotykového ovládání.
Přehled
Gamepad a dálkové ovládání jsou primární vstupní zařízení pro Xbox 10 stop. Aplikace Windows by měla být použitelná a přístupná prostřednictvím těchto vstupních typů a také tradičních typů vstupu počítače.
Obecné pokyny k navrhování pro prostředí na velké obrazovce najdete v tématu Navrhování pro Xbox a TV.
Klíčová rozhraní API
Gamepad a tlačítka dálkového ovládání
Následující tabulka uvádí hardwarová tlačítka a vstupní zařízení je podporuje.
| Button | Herní ovladač | Dálkové ovládání |
|---|---|---|
| A/Vybrat | Ano | Ano |
| B/Zpět | Ano | Ano |
| D-pad | Ano | Ano |
| Jídelní lístek | Ano | Ano |
| Zobrazit | Ano | Ano |
| X a Y | Ano | Ne |
| Levá/pravá páčka | Ano | Ne |
| Spouště vlevo/vpravo | Ano | Ne |
| Levý/pravý bumper | Ano | Ne |
Integrované mapování vstupu
Windows automaticky mapuje vstup klávesnice na gamepad a dálkové ovládání:
| Keyboard | Herní ovladač/dálkový ovladač |
|---|---|
| Klávesy se šipkami | D-pad (také levá páčka na gamepadu) |
| Mezerník | Tlačítko A/Select |
| Vstoupit | Tlačítko A/Select |
| Útěk | Tlačítko B/Zpět |
Navigace fokusu XY
Navigace XY podle zaměření umožňuje uživatelům procházet uživatelské rozhraní aplikace ve čtyřech směrech (nahoru, dolů, doleva, doprava) pomocí směrového ovladače nebo levé páčky.
Povolení navigace XY
Navigace fokusu XY je integrovaná do architektury XAML. Nastavte XYFocusKeyboardNavigation u kontejneru, abyste ho povolili:
<StackPanel XYFocusKeyboardNavigation="Enabled">
<Button Content="Button 1"/>
<Button Content="Button 2"/>
<Button Content="Button 3"/>
</StackPanel>
Přepsat směrovou navigaci
Použijte vlastnosti XYFocusUp, XYFocusDown, XYFocusLeft a XYFocusRight k přepsání výchozího chování navigace:
<Button Content="Button 1"
XYFocusRight="{x:Bind Button2}"/>
<Button x:Name="Button2" Content="Button 2"
XYFocusLeft="{x:Bind Button1}"/>
Zaměření na vizuál
Fokus je ohraničení, které zvýrazní aktuálně zaměřený prvek uživatelského rozhraní. Pomocí integrovaného vizuálu fokusu můžete uživatelům pomoct s ovládáním gamepadu nebo vzdáleného ovládání.
Ve WinUI 3 přizpůsobte vizuální indikátor fokusu nastavením vlastností u FrameworkElement:
<Button Content="My Button"
FocusVisualPrimaryBrush="Red"
FocusVisualPrimaryThickness="2"
FocusVisualSecondaryBrush="Yellow"
FocusVisualSecondaryThickness="1"/>
Zapojení fokusu
Aktivace fokusu vyžaduje, aby uživatel pro interakci se zaměřeným ovládacím prvkem stiskl tlačítko A/Select. Zabráníte tak náhodné aktivaci při navigaci pomocí D-padu.
Nastavte IsFocusEngagementEnabled u ovládacích prvků, které mají prospěch z tohoto chování:
<Slider IsFocusEngagementEnabled="True"/>
Když je aktivní zapojení fokusu, uživatel stiskne klávesu A/Select, aby se ovládací prvek zapojil, interaguje s ním a pak stiskne klávesu B a "odpojí".
Režim myši
Pro prostředí aplikací, ve kterých není navigace fokusu XY praktická (například mapy nebo aplikace kreslení), povolte režim myši. To umožňuje uživatelům volně přecházet pomocí herního panelu, podobně jako pomocí myši.
Poznámka:
UWP pro tento scénář zpřístupňoval vlastnost Application.RequiresPointerMode, která platila pro celou aplikaci.
Microsoft.UI.Xaml.Application ve WinUI 3 nemá ekvivalentní vlastnost, takže místo toho nastavte RequiresPointer u každého Page.
Pokud chcete pro konkrétní stránku povolit režim myši, nastavte RequiresPointer na :Page
<Page RequiresPointer="WhenEngaged">
<!-- Page content -->
</Page>
CommandBar a ContextFlyout
Použijte ContextFlyout k poskytnutí kontextových nabídek přístupných pomocí tlačítka Nabídka na gamepadu:
<GridView>
<GridView.ContextFlyout>
<MenuFlyout>
<MenuFlyoutItem Text="Open"/>
<MenuFlyoutItem Text="Delete"/>
</MenuFlyout>
</GridView.ContextFlyout>
</GridView>
Osvědčené postupy
- Otestujte svou aplikaci jak v prostředí pro počítač (2-foot), tak i v prostředí pro TV (10-foot).
- Zajistěte, aby všechny funkce byly přístupné jenom v navigaci na D-padu.
- Pomocí
XYFocusKeyboardNavigationu kontejnerů povolte směrovou navigaci. - Umístěte nejdůležitější obsah a ovládací prvky na začátek rozložení.
- Nespoléhejte na tlačítka jedinečná pro jedno vstupní zařízení pro kritické interakce.
Související články
- Navrhování pro Xbox a TV
- Interakce pomocí klávesnice
- Navigace fokusu
- XInput (vstup herního ovladače) – rozhraní API nízké úrovně pro vstup ovladače Xbox, včetně kmitání, mrtvého pásma kryptografického znaménka a zpětné vazby triggeru
- Windows.Gaming.Input — WinRT API pro vstup z gamepadu, závodního volantu a letového joysticku
- Herní vývojová sada Microsoft (GDK) – úplná vývojová platforma pro hry pro PC a Xbox
Windows developer