簡體   English   中英

C#-我需要弄清楚如何使GUI監聽IF語句中被按下的按鈕

[英]C# - I need to figure out how to make GUI that listens for buttons being pressed in a IF statement

因此,當前,我正在用C#編寫一個小型的文字冒險游戲,並且正在使用Visual Studio Express2013。在Forms方法中,我有一個按鈕“ buttonContinue”方法,當我按下該按鈕時會調用它; 很簡單 我還有一個按鈕“ buttonA”,“ buttonB”,“ buttonC”,它們是游戲的控件。

現在。 當前游戲的運行方式是您按下按鈕繼續游戲的進行,當您按下繼續按鈕時,您會隨機遇到一個事件,例如遇到怪物,找到NPC或遇到“事件”(當前事件不重要)。 截至目前,buttonA和buttonB已用於吃游戲中可能會撿起的蘋果或喝水。

這是問題所在:我想讓buttonA和buttonB在戰斗或事件中發揮不同的作用。 我希望buttonA是與怪物戰斗的按鈕,buttonB是試圖躲避怪物的按鈕,buttonC是嘗試運行的按鈕。 到目前為止,我想出的唯一解決方案是創建一個LOOP,以檢查遇到怪獸時是否按下了buttonA,B或C-但是,GUI不會暫停或監聽按鈕A,B或C C作為IF語句被按下。

這是我的游戲代碼的一小部分:

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

        }
        if (buttonCClicked == true)
        {

        }
   }

現在調用WHILE語句的地方,由於沒有任何等待和監聽這些if語句為true的情況,因此它會無限循環,沒有時間限制,導致程序完全凍結。

我還不太熟練C#,因為我仍在學習和上C#。 此外,這是我在本網站上的第一篇文章。 請幫助我解決此問題,如果需要,我可以為您提供更多信息! 謝謝!

編輯:我決定包括源代碼,以便可以更快地解決此問題。
Form1.cs-pastebin(DOT)com / idJaR20V
Goblin.cs-pastebin(DOT)com / Ti1L4XzN
Attrivutes.cs-pastebin(DOT)com / GfJAJ1u5

我對C#編程及其功能仍然缺乏經驗,但是可以同時運行buttonContinue和buttonA方法嗎? 使其在遇到怪物時被禁用buttonContinue,並且在buttonContinue仍在運行時只有按鈕A,B,C具有功能嗎? :/

如果我要在運行其他方法時啟動另一個方法,該方法中的一個不會停止工作並彈出其中的所有數據/進程嗎? 我不太確定

創建3個不同的按鈕X, Y, Z OnClick功能的這3個按鈕中放置所需的戰斗功能。

當您處於事件A, B, C可見。 在這種情況下, X, Y, Z不可見。

當您在戰斗中時, X, Y, Z可見。 在這種情況下, A, B, C不是。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM