C++ 添加精灵时窗口关闭
当我尝试使用我创建的函数时,我的窗口崩溃, 我用它在屏幕上创建一个精灵,但由于某种原因它崩溃了 我得到一个错误: 分段故障(堆芯转储) 这是我的代码:C++ 添加精灵时窗口关闭,c++,sprite,sfml,C++,Sprite,Sfml,当我尝试使用我创建的函数时,我的窗口崩溃, 我用它在屏幕上创建一个精灵,但由于某种原因它崩溃了 我得到一个错误: 分段故障(堆芯转储) 这是我的代码: #include <SFML/Graphics.hpp> #include <SFML/System.hpp> #include <string> #include <unistd.h> #include <iostream> #include <vector> using
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <string>
#include <unistd.h>
#include <iostream>
#include <vector>
using namespace std;
vector<sf::Sprite*> Tiles;
void createTile (string TextureIN, int x, int y) {
sf::Vector2f Pos(x, y);
sf::Texture Texture;
Texture.loadFromFile(TextureIN);
sf::Sprite *Tile;
Tile->setTexture(Texture);
Tile->setPosition(Pos);
Tiles.push_back(Tile);
}
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 600), "My window");
createTile("Recources/grass.png", 50, 50);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(sf::Color::Blue);
for (int i; i < Tiles.size(); i++) {
window.draw(*Tiles[i]);
}
window.display();
}
return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
矢量瓦片;
void createTile(字符串TextureIN、int x、int y){
矢量2f位置(x,y);
sf::纹理;
Texture.loadFromFile(TextureIN);
sf::雪碧*瓷砖;
瓷砖->设置纹理(纹理);
瓷砖->设置位置(Pos);
瓷砖。推回(瓷砖);
}
int main()
{
sf::RenderWindow(sf::VideoMode(800600),“我的窗口”);
createTile(“resources/grass.png”,50,50);
while(window.isOpen())
{
sf::事件;
while(window.pollEvent(事件))
{
如果(event.type==sf::event::Closed)
window.close();
}
窗口。清除(sf::颜色::蓝色);
对于(int i;i
我以前有一个工作版本,但我的电脑崩溃了,我忘记了
备份>您正在创建一个没有正确内存分配的指针 所以不是
sf::Sprite *Tile;
使用
请务必也查看一下。您正在创建一个没有正确内存分配的指针 所以不是
sf::Sprite *Tile;
使用
也一定要看一看