C#-我需要弄清楚如何制作GUI来监听IF语句中按下的按钮

本文关键字:语句 IF 按钮 监听 弄清楚 GUI 何制作 C#- | 更新日期: 2023-09-27 18:25:59

所以目前,我正在用C#编写一个小文本冒险游戏,并且我正在使用Visual Studio Express 2013。在forms方法中,我有一个按钮"buttonContinue"方法,当我按下按钮时会调用它;非常简单。我还有一个按钮"按钮a"、"按钮B"answers"按钮C",它们是游戏的控件。

现在。游戏目前的工作方式是,你按下按钮继续进行游戏,当你按下继续按钮时,你有随机机会遇到一个事件,比如遇到怪物、找到NPC或遇到"事件"(目前事件不重要)。到目前为止,buttonA和buttonB被用来吃你可能在比赛中捡到的苹果或喝你可能携带的水。

问题是:我想让buttonA和buttonB在战斗或事件中发挥不同的作用。我希望按钮a是对抗怪物的按钮,按钮B是试图躲避怪物,按钮C是试图逃跑。到目前为止,我唯一能想到的解决方案是制作一个while LOOP,当遇到怪物时,它会检查按钮a、B或C是否被按下——但是——GUI不会暂停或倾听按钮a、B或C是否作为if语句被按下。

以下是我的游戏代码的一小部分:

Attributes.monsterDead = false;
    while (Attributes.monsterDead == false)
    {
        if (buttonAClicked == true)
        {
            Goblin.GoblinAttack();
            buttonAClicked = false;
        }
        if (buttonBClicked == true)
        {
        }
        if (buttonCClicked == true)
        {
        }
   }

现在,在调用WHILE语句的地方,因为如果语句为true,就没有什么可以等待和侦听这些语句,所以它只是无限循环,没有时间限制,导致程序完全冻结。

我对C#还不是很熟练,因为我还在学习和上课。此外,这是我在这个网站上的第一篇帖子。请帮我解决这个问题,如果需要,我可以给你更多的信息!非常感谢。

编辑:我决定包含源代码,这样我就可以更快地解决这个问题
Form1.cs-pastebin(DOT)com/idJaR20V
哥布林.cs-巴斯德宾(DOT)com/Ti1L4XzN
Attrivates.cs-pastebin(DOT)com/GfJAJ1u5

我对C#编程及其函数仍然缺乏经验,但是否可以同时运行buttonContinue和buttonA方法?使其在遇到怪物时禁用buttonContinue,并且在按钮Continue仍在运行时只有按钮a、B、C具有功能?:/

如果我在另一个方法运行时启动另一个,其中一个方法不会停止工作并弹出它所处的所有数据/进度吗?我不太确定。

C#-我需要弄清楚如何制作GUI来监听IF语句中按下的按钮

创建3个不同的按钮X, Y, Z。将战斗所需的功能放在OnClick功能中的这3个按钮中。

当您在事件A, B, C中可见时。在这种情况下,X, Y, Z不可见。

当你在战斗中X, Y, Z可见。在这种情况下,A, B, C不是。