gpt4 book ai didi

c++ - 在不同位置渲染相同 Sprite 的数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:41:00 25 4
gpt4 key购买 nike

我正在尝试重新创建 Space Invaders,但我无法让我的入侵者 sprite 连续显示而不是彼此重叠显示。我有一个名为 Sprite 的结构,它包含 x 位置、y 位置、宽度、高度和颜色,我正在将该信息传递到绘制 Sprite 的自定义函数中。如果我只是创建一个 Sprite ,一切都会正常。但我想创建多个(出于测试目的,比如 5 个)。因此,我创建了一个 Sprite 结构数组,并在 For-Loop 中尝试更改数组中每个元素的 x 位置,然后使用自定义函数在循环的每次迭代中绘制数组元素,但对于一些我没有得到正确结果的原因。我可以在调试器中看到 x 位置实际上正在更改,但我认为所有内容仍然相互叠加。

struct INVADER
{
int xPos = 100;
int yPos;
int width;
int height;
D3DCOLOR color;

INVADER()
{
xPos;
yPos;
width = 64;
height = 64;
color = D3DCOLOR_XRGB(255, 255, 255);
}

};


INVADER invaderArmy[5];

for (int index = 0; index < 5; index++)
{
//invaderArmy->xPos = 100;

invaderArmy[index].xPos *= index;

Draw_And_Rotate_Sprite(invaderImage, invaderArmy[index].xPos);

}

最佳答案

我在这里写信是因为我没有 50 个代表可以发表评论。

调用的 Draw_And_Rotate_Sprite() 函数的参数不应该是 invaderArmy[index] 而不是 invaderArmy[index].xPos 吗?

我在所提供的代码中也没有看到任何问题。请向我们展示 Draw_And_Rotate_Sprite() 函数定义。

关于c++ - 在不同位置渲染相同 Sprite 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50419319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com