Я использую Monogame Внедрение xna для разработки простой игры Air Hockey в магазине Windows, и я перехожу на какую-либо страницу XAML, если какой-либо из игроков достигает 7 баллов.Как перезапустить класс игры XNA (Monogame)
это логика, я использую в методе Update
protected override void Update(GameTime gameTime)
{
DrawGame();
if (player1.Score == 7)
{
try
{
PlayerOneScore = player1.Score;
PlayerTwoScore = player2.Score;
App.WinningFlag = true;
App.WinningPlayer = PlayerOneName;
this.Exit();
if (BaseCount == 0)
{
//Navigation to next page
BaseCount++;
Frame ff = new Frame();
ff.Navigate(typeof(NextPage));
Windows.UI.Xaml.Window.Current.Content = ff;
Windows.UI.Xaml.Window.Current.Activate();
}
}
catch (Exception)
{
throw;
}
}
base.Update(gameTime);
}
Однако я вижу, что обновление методов и рисовать все еще вызывался, почему так? Хотя я написал код, чтобы уйти с этой страницы, а также в СледующаяСтраница есть кнопка закодирована для перезапуска игры
Нажмите событие для кнопки перезапуска игры в СледующаяСтранице
private void btnStartNewGame_Click(object sender, RoutedEventArgs e)
{
var app = App.Current as App;
if (app.GamePage != null)
{ app.GamePage = null; app.GamePage = new GamePage(string.Empty); }
else { app.GamePage = new GamePage(string.Empty); }
Window.Current.Content = app.GamePage;
}
Это делает меня черным screen, Никаких текстур в классах game1.cs не нарисованы.
Как я могу перейти с Game1.cs на Xaml и вернуться к Game1.cs в качестве нового вызова?
Вы видите государство XNA Game Управление? – SamLeBarbare
Да, но это не сработало для моей проблемы, так или иначе, проверьте мой ответ. Это сработало для меня. –