C++ 游戏项目是如何运作的?

C++ 游戏项目是如何运作的?,c++,C++,我一直想知道这是怎么回事。吃得多会减慢比赛速度吗?例如,如何表示检查汽车是否翻转。可以认为: if (player.car.angle.y == 180) { do something } 让我困惑的是,游戏什么时候会检查它?在我看来,游戏中可能发生的每一件事似乎都会演变成一种假设。我只是想知道这些是怎么处理的 此外,由于游戏是通过一个循环运行的,如果汽车翻转超过1帧,会不会真的使用布尔值来检查事件是否已触发 多亏了在大多数通用术语中,引擎中的任何对象都有一个状态-如果它改变了状态(例如,未翻

我一直想知道这是怎么回事。吃得多会减慢比赛速度吗?例如,如何表示检查汽车是否翻转。可以认为:

if (player.car.angle.y == 180)
{
do something
}
让我困惑的是,游戏什么时候会检查它?在我看来,游戏中可能发生的每一件事似乎都会演变成一种假设。我只是想知道这些是怎么处理的

此外,由于游戏是通过一个循环运行的,如果汽车翻转超过1帧,会不会真的使用布尔值来检查事件是否已触发


多亏了

在大多数通用术语中,引擎中的任何对象都有一个状态-如果它改变了状态(例如,未翻转到翻转),这就是一个转换。
从转换中,您可以触发事件,也可以不触发事件,但由于转换仅在更改状态时发生,因此事件不会被多次触发

至于触发转换的条件,当然必须在某个地方进行编码。有时,它们被更明确地编码,但大多数情况下,它们被参数化,以便脚本或某种配置可以轻松地更改它们


它最终的实现方式有很大的不同,这取决于所使用的库以及引擎设计本身。

一般来说,引擎中的任何对象都有一个状态-如果它改变状态(例如,不翻转到翻转),这就是一个转换。
从转换中,您可以触发事件,也可以不触发事件,但由于转换仅在更改状态时发生,因此事件不会被多次触发

至于触发转换的条件,当然必须在某个地方进行编码。有时,它们被更明确地编码,但大多数情况下,它们被参数化,以便脚本或某种配置可以轻松地更改它们


它最终的实现方式大相径庭,这取决于所使用的库以及引擎设计本身。

非常广泛的设计问题。答案是无论你希望它如何工作,它都能工作。我想我会试着去理解地震引擎,然后…+1我对这个问题投了反对票。事实上,正如@gf所展示的那样,它可以得到简洁的回答。非常广泛的设计问题。答案是无论你希望它如何工作,它都能工作。我想我会试着去理解地震引擎,然后…+1我对这个问题投了反对票。事实上,@gf已经证明了这一点。