我正在嘗試創建一個(非常基本的)遊戲。遊戲分爲兩個截然不同的部分,事件驅動部分除非玩家點擊按鈕,否則什麼都不會發生,而實時元素是用戶點擊按鈕但是響應實時事件。在單個遊戲中結合事件驅動和實時元素
我能想到的最好的例子是羅馬:全面戰爭系列。活動模式幾乎完全是事件驅動,戰鬥模式是活的。足球經理(管理模式/比賽模式)也類似。
我知道這是一個愚蠢的普遍問題,但你怎麼去編寫這樣的遊戲呢?有沒有關於這種事情的文件?
語言我想使用如果可能的話是C#
編輯:
的代碼片段舉例:
void UpdateCar1(GameTime gameTime, float speed)
{
a = (float)gameTime.TotalGameTime.TotalSeconds * speed * (float)(90 * Math.PI/(180*2.5));
X = Math.Cos(a)*100;
Y = Math.Sin(a)*100;
Car1Position.X = 100+(int)X;
Car1Position.Y = 100+(int)Y;
}
這使得在一個圓圈Car
「驅動器」 周圍。
有一些代碼用於檢測「按鈕」上的鼠標按鈕點擊 - 它們只是使Car
變得更快或更慢(爲了清晰起見編輯爲僞代碼)。
if (mouse.LeftButton == ButtonState.Released && previousButtonState == ButtonState.Pressed)
{
if ("button click occured within faster button rectangle") { "go faster" }
if ("button click occured within slower button rectangle") { "go slower" }
}
以上對於遊戲的實時元素來說都非常好。然而,對於事件驅動的東西,它似乎很笨拙,我不需要遊戲每秒更新60次,我只需要它來更新,如果按下按鈕。
我的問題是,是否有一種方法來結合這兩者,因爲它顯然已經完成了上述遊戲。
還沒有一行代碼? – Tico
許多小小的測試腳本可以用來測試一些東西,而且這是一個非常好的主意(至少我認爲是這樣)的類結構。毫無疑問,它會改變。我想我現在就要問這個問題了,現在我走了一條完全愚蠢的道路。在XNA中繪製按鈕以及不斷加載和卸載GUI元素似乎有點笨拙,如果窗口窗體如此整齊地處理它(除非當然不能做到實時的東西) – user2056166
然後告訴我們!這個問題只會在downvotes中呈現。 – Tico