所以,我有一个3d平台游戏.而且我想要一个按钮,如果你握住它会让你"回到过去".值得庆幸的是,游戏相当简单,只有一个实体,因此每帧必须保存的唯一内容是.
struct Coord {
float x;
float y;
float z;
}
structure Bool6 {
bool front;
bool back;
bool left;
bool right;
bool top;
bool bottom;
}
struct Player {
Coord Pos;
Coord Vel;
Bool6 Col;
}
Run Code Online (Sandbox Code Playgroud)
但是我担心这是很多数据,特别是因为我的游戏理论上运行在60fps左右,所以保存5秒左右(300帧)的数据可以在滚动后访问.我认为每个框架都是这样做的
Player Data[300];
for (int i = 299; i > 0; i--)
{
Data[i] = Data[(i-1)];
}
Data[0] = "THIS FRAMES DATA";
Run Code Online (Sandbox Code Playgroud)
然而,这听起来意味着在存储每个帧时只需要大量的处理能力.
它们是一种更有效的方式来存储这些数据,保持所有数据的有序性吗?
还有一种方法我可以告诉阵列插槽它什么都没有?如果播放器在所有阵列插槽填满之前或回滚之后尝试回滚,那么它们不会出现问题?我相信C#我会把它设置为等于NULL ...但是这在c ++中不起作用可能是因为我正在使用结构.
非常感谢!
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |