Sto creando un gioco per WP8, ma è in XNA. Come posso far sì che abbia un'icona larga per la schermata iniziale? Solo Small e Normal sono supportati in modo predefinitoCome può il mio gioco avere un'icona larga per la schermata iniziale?
risposta
Poiché XNA è supportato solo per le app WP7, è necessario verificare se l'app è in esecuzione su WP8 e, in tal caso, utilizzare reflection per aggiornare la tile alle icone WP8. C'è un buon esempio di come quel frammento di codice sarebbe simile a questo articolo di MSDN @Adding Windows Phone 8 Tile functionality to Windows Phone OS 7.1 apps
Potrebbe essere più facile su di voi per utilizzare la libreria Mangopollo che ha questa capacità built-in con le API simile a quella di WP8. Ecco il codice sorgente che avvolge le API WP8 per essere chiamato da WP7 @http://mangopollo.codeplex.com/SourceControl/changeset/view/100687#2023247
Ed ecco il Mangopollo frammento di codice da utilizzare piastrelle larghe WP8 in applicazioni WP7:
if (!Utils.CanUseLiveTiles)
{
MessageBox.Show("This feature needs Windows Phone 8");
return;
}
try
{
var mytile = new FlipTileData
{
Title = "wide flip tile",
BackTitle = "created by",
BackContent = "Rudy Huyn",
Count = 9,
SmallBackgroundImage = new Uri("/Assets/logo159x159.png", UriKind.Relative),
BackgroundImage = new Uri("/Assets/Background336x336_1.png", UriKind.Relative),
BackBackgroundImage = new Uri("/Assets/Background336x336_2.png", UriKind.Relative),
WideBackContent = "This is a very long long text to demonstrate the back content of a wide flip tile",
WideBackgroundImage = new Uri("/Assets/Background691x336_1.png", UriKind.Relative),
WideBackBackgroundImage = new Uri("/Assets/Background691x336_2.png", UriKind.Relative)
};
#if ALTERNATIVE_SOLUTION
var mytile = Mangopollo.Tiles.TilesCreator.CreateFlipTile("flip tile",
"created by", "Rudy Huyn",
"This is a very long long text to demonstrate the back content of a wide flip tile",
9, new Uri("/Assets/logo159x159.png", UriKind.Relative),
new Uri("/Assets/Background336x336_1.png", UriKind.Relative),
new Uri("/Assets/Background336x336_2.png", UriKind.Relative),
new Uri("/Assets/Background691x336_1.png", UriKind.Relative),
new Uri("/Assets/Background691x336_2.png", UriKind.Relative));
#endif
ShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20wipe%20flip%20tile",
UriKind.Relative), mytile, true);
}
catch
{
MessageBox.Show("remove tile before create it again");
}
Un'altra cosa da ricordare è che le altre Le API WP8 possono essere utilizzate direttamente da XNA anche se le app XNA sono app WP7. Ecco un esempio su come use WP8 in-app purhcase on WP7 apps (incluso XNA). Ed ecco un esempio su how to use new WP8 Launchers & Choosers in WP7 apps (scorrere verso il basso).
L'ultima istruzione dello snippet di codice sopra dall'app di esempio Mangopollo utilizza Uri di MainPage.xaml per avviare l'app. Quale Uri dovrebbe essere usato per un gioco XNA? –