gpt4 book ai didi

c#小游戏: menu screen,怎么实现?

转载 作者:行者123 更新时间:2023-11-30 12:36:34 26 4
gpt4 key购买 nike

我正在 WinForms 中制作简单的图形游戏,目前我希望在游戏开始时显示一个菜单。我唯一的问题是我不确定应用程序本身的结构,这是我目前所拥有的:

1) 要有菜单形式和游戏形式。选择新游戏后,创建游戏表单并将其停靠到菜单表单 - 我无法处理菜单表单,因为应用程序会退出。或者我可以将消息循环切换为不同的形式吗?我怀疑是这样
2)拥有一些主要形式,使我能够创建和处理菜单和游戏形式3)完全不同的方式?

最佳答案

我在开发应用程序时经常使用的一种方法是将主窗体用作 View 的容器( View 是 UserControl),其中包含一个用于添加 View 的面板。

你可以做的是:

  1. 定义两个用户控件,一个用于菜单,一个用于游戏逻辑。菜单 View 应该为主窗体可以附加到的每个菜单项公开一个事件。
  2. 启动时,显示菜单控件。当调用“Play”事件时,主窗体应切换到游戏 View 。

以下伪代码将帮助您切换 View :

private void SwitchView(Panel container, UserControl newView)
{
if (container.Controls.Count > 0)
{
UserControl oldView = container.Controls[0] as UserControl;
container.Controls.Remove(0);
oldView.Dispose();
}

if (newView != null)
{
newView.Dock = Dock.Fill;

// Attach events
if (newView is ...)
{
...
}

container.Controls.Add(newView);
}
}

请注意,这段代码可能无法正确编译,这是我从头开始写的。但它会让您大致了解这是可以做到的。

关于c#小游戏: menu screen,怎么实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com