【问题标题】:C# and XNA is possible switch beetween Game classes?C# 和 DNA 可以在 Game 类之间切换吗?
【发布时间】:2013-01-14 13:35:55
【问题描述】:

我正在为 Windows Phone 8 开发一个小型游戏应用程序。

我有三个游戏,我想知道是否可以在随机时间内(从 main.cs)从 game1 切换到 game2 再到 game3。

我会稍微解释一下 这是应用程序的树

  • 资源
  • 参考文献
    • AbstractGame.cs
    • Pong.cs
    • Arkanoid.cs
  • 列表项
  • Main.cs
  • Program.cs

游戏的基本目的是,您在 main.cs 中设置一个随机数字,然后在 pong 和 arkanoid 之间进行主切换(并且您必须为变化做好准备)

抽象只是一个继承Microsoft.Xna.Framework.Game的“容器”

在我在调试器上运行程序之前它“运行良好”,因为它向我显示了这个错误。

“无法运行多个游戏”

这是因为 Main.cs、Pong.cs 和 Arkanoid.cs 是 Game-child 类

有什么解决办法吗?我的意思是,这种逻辑可以避免这种错误(在 Main.cs 中运行/切换游戏)

如果 Pong.cs 和 Arkanoid 继承自 DrawableGameComponent 会更好?

提前感谢您的任何回复

【问题讨论】:

    标签: c# xna visual-studio-2012 windows-phone-8 game-engine


    【解决方案1】:

    解决此问题的最佳方法是使用游戏组件,就像您在问题中提到的那样。

    那么只需将所有游戏组件添加到主游戏对象即可:

    Game.Components.Add(myGameComponent);
    

    然后相应地设置启用标志。

    myGameComponent.Enabled = true;
    

    然后,只需循环浏览游戏组件,并更新/绘制启用的组件即可。

    【讨论】:

    • 酷我要尽快尝试
    【解决方案2】:

    是的 - 如果你的每个小游戏都派生自 DrawableGameComponent,你会做得更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 2013-03-14
      • 2020-10-22
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2014-12-28
      相关资源
      最近更新 更多