精灵不显示我希望它们显示的方式
Sprites not displaying how I want them to display
我正在制作一个SFML游戏,我想暂时将屏幕上可以同时存在的子弹数量限制为5个。
这是所需的最少代码:
#define max_bullets_displayed 5
//...
Bullet* pociski[max_bullets_displayed];
//...
for (int i = 0; i < 5; i++)
{
pociski[i] = 0;
}
//...
//creating bullets when needed
if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
{
for (int i = 0; i < 5; i++)
{
if (pociski[i] == 0)
{
pociski[i] = new Bullet("pocisk.png", sf::Mouse::getPosition().x, sf::Mouse::getPosition().y, 23, 20);
}
}
}
//...
//displaying
for (int i = 0; i < 5; i++)
{
if (pociski[i] != 0) window.draw(pociski[i]->sprite);
}
我认为指针有问题。只能显示其中一个项目符号,其余项目符号即使在单击后也不会显示。不会引发异常,并且内存正常。
所有子弹都在同一位置生成,因此它们彼此重叠绘制。
pociski[i] = new Bullet("pocisk.png", sf::Mouse::getPosition().x, sf::Mouse::getPosition().y, 23, 20);
相关文章:
- 如何以编程方式使窗口全屏显示?
- 如何以编程方式显示功能区按钮的下拉菜单?
- 以编程方式在任何按钮上突出显示 Qt 鼠标悬停按钮
- 只显示片段着色器的最佳方式是什么
- 使用 C++ 显示 (.lnk) 快捷方式文件的真实路径
- 精灵不显示我希望它们显示的方式
- 在Visual Studio c++中显示jpeg流的最佳方式
- 二进制文件中的某些数据如图所示,并以奇怪的方式显示OS
- 模板在翻译单元中的显示方式
- 当鼠标右键单击(C /C#)时,如何获得快捷方式显示名称
- 如何获取哪些快捷方式和文件在桌面等文件夹路径中突出显示
- 绕Y轴旋转二维正方形,并使用DirectX或openGL以透视投影方式显示
- 有没有一个网站可以生成所有可能的显示单词的方式
- 在 Vtk 中显示 3D 文本的最佳方式是什么
- 更改 Visual Studio 调试器显示字符变量的方式
- 如何以编程方式更改控制面板中显示的项目产品版本
- Qt显示超大富文本的最佳方式是什么?
- Can运算符<<用于设计我们自己的输出显示方式
- 使用CImg显示2D矢量的最佳方式
- 我如何循环矩阵数据的显示方式