SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Не выводиться картинка на экран.
В этой теме 10 ответов, 5 участников, последнее обновление Павел Букреев 9 года/лет, 4 мес. назад.
-
АвторСообщения
-
C++123456789101112131415161718192021222324252627282930313233#include <SFML/Graphics.hpp>using namespace sf;int main(){RenderWindow window(sf::VideoMode(640, 480), "SFML");Image heroimage;heroimage.loadFromFile("C:/Users/ТЯГЕРНАУТ_0.5 Тб/Documents/Visual Studio 2013/Projects/SFML_Test2/SFML_Test2/images/hero.png");Texture herotexture;herotexture.loadFromImage(heroimage);Sprite herosprite;herosprite.setTexture(herotexture);herosprite.setPosition(50, 25);while (window.isOpen()){sf::Event event;while (window.pollEvent(event)){if (event.type == sf::Event::Closed)window.close();}window.clear();window.draw(herosprite);window.display();}return 0;}C++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960"SFML_Test2.exe" (Win32). Загружено "C:\Users\ТЯГЕРНАУТ_0.5 Тб\Documents\Visual Studio 2013\Projects\SFML_Test2\x64\Debug\SFML_Test2.exe". Символы загружены."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\ntdll.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\kernel32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\KernelBase.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Users\ТЯГЕРНАУТ_0.5 Тб\Documents\Visual Studio 2013\Projects\SFML_Test2\x64\Debug\sfml-graphics-2.dll". Модуль был построен без символов."SFML_Test2.exe" (Win32). Загружено "C:\Users\ТЯГЕРНАУТ_0.5 Тб\Documents\Visual Studio 2013\Projects\SFML_Test2\x64\Debug\sfml-window-2.dll". Модуль был построен без символов."SFML_Test2.exe" (Win32). Загружено "C:\Users\ТЯГЕРНАУТ_0.5 Тб\Documents\Visual Studio 2013\Projects\SFML_Test2\x64\Debug\sfml-system-2.dll". Модуль был построен без символов."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\winmm.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msvcrt.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\user32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\gdi32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\lpk.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\usp10.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msvcr120.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msvcp120.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\opengl32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\advapi32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\sechost.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\rpcrt4.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\glu32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\ddraw.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\dciman32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\setupapi.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\cfgmgr32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\oleaut32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\ole32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\devobj.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\dwmapi.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msvcp120d.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msvcr120d.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\imm32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msctf.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\uxtheme.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\nvoglv64.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\shell32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\shlwapi.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\wtsapi32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\version.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\wintrust.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\crypt32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\msasn1.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\ntmarta.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\Wldap32.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\powrprof.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Выгружено "C:\Windows\System32\powrprof.dll""SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\winsta.dll". Невозможно найти или открыть PDB-файл.Поток 0x2cf8 завершился с кодом 0 (0x0).Поток 0x2e2c завершился с кодом 0 (0x0).Поток 0x590 завершился с кодом 0 (0x0).Поток 0x21ac завершился с кодом 0 (0x0)."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\dinput.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\hid.dll". Невозможно найти или открыть PDB-файл."SFML_Test2.exe" (Win32). Загружено "C:\Windows\System32\cryptbase.dll". Невозможно найти или открыть PDB-файл.Поток 0x3458 завершился с кодом -1073741510 (0xc000013a).Поток 0x684 завершился с кодом -1073741510 (0xc000013a).Поток 0x4a8 завершился с кодом -1073741510 (0xc000013a).Поток 0x3120 завершился с кодом -1073741510 (0xc000013a).Поток 0x2da8 завершился с кодом -1073741510 (0xc000013a).Поток 0x3534 завершился с кодом -1073741510 (0xc000013a).Программа "[3348] SFML_Test2.exe" завершилась с кодом -1073741510 (0xc000013a).
Вложения:
You must be logged in to view attached files.Попробуй задать путь до картинки так, чтобы не было русских букв и пробелов.
Пробовал расположение картинки и проекта менять,результат не изменился.
Правильно ли я расположил картинку?C++12Image heroimage;heroimage.loadFromFile("hero.png");C:\visual studio 2013\Projects\SFML\SFML
Вложения:
You must be logged in to view attached files.в конструкторе игрока удели внимание инициализации переменных
Наконец-то получилось,код остался тот же ,подключил SFML-библиотеку в место конфигурации Debug к Release и вуоля))))
Вопрос,что это вообще за конфигурации и т.д.?Вложения:
You must be logged in to view attached files.дебаг для отладки, релиз для выпуска проекта.
Та же беда дошёл до 8 -го урока при компиляции вместо котика белый прямоугольник.
Пробовал прописать путь в конструкторе не помогает. Тайлсет 1 лежит на диске D:/ второй в папке Debug рядом с exe.
Вообще если я просто писал cat.png(у вас hero.png) изображение тоже не компилировалось, но при запуске exe всё было в порядке и сейчас также.
Но при указании пути на диск D:/ сейчас виден только белый прямоугольник и чтобы проверить анимацию приходится заходить в папку проекта и запускать exe .
Как исправить???
В консоли :Извиняюсь , сам виноват просто в конструкторе не так путь прописывал… Всё нормально.
Доброго времени суток.
Куда делся коммент о том, какой конструктор нужно создать?
У меня код такой же, но картинку так и не выводит…
Не могли бы написать, пожалуйста, что именно нужно сделать для того, что бы все наконец заработало!!!C++12345678910111213141516171819202122class Hero{public:float x, y,dx,dy,speed=0;float width, height;//ширина и высота спрайтаString File;//Имя файла с изображением спрайтаImage img;//Изображение, которому присваивается файлTexture texture;//текстура, которой присваивается изображениеSprite sprt;//Сам спрайтHero(String F, float X, float Y, float W, float H){File = F;width = W; height = H;isMove = false;img.loadFromFile("images/" + File);//у меня фал лежит в папке images, что находится в папке с срр файлом, поэтому такimg.createMaskFromColor(Color(255, 255, 255));texture.loadFromImage(img);//загружаютсяsprt.setTexture(texture);//картинка и текстураx = X; y = Y;sprt.setTextureRect(IntRect(width, height, width, height));//выбирается нужная часть изображенияsprt.setOrigin(width / 2, height / 2);sprt.setPosition(x, y);}у меня вот такой класс и конструктор, все работает
Elizabeth, посмотри пример конструктора в этом sfml уроке: урок 20 sfml притяжение персонажа
C++12345678910111213141516171819202122232425public:float w,h,dx,dy,x,y,speed;int dir, playerScore, health;bool life, isMove,isSelect,onGround;//добавили переменные состояния нахождения на землеenum stateObject { left,right,up,down,jump,stay };//добавляем тип перечисления - состояние объектаstateObject state;//создали экземпляр типа перечисления stateObjectString File;Image image;Texture texture;Sprite sprite;Player(String F, float X, float Y, float W, float H){dir = 0; speed = 0; playerScore = 0; health = 100; dx = 0; dy = 0;life = true; isMove = false; isSelect = false; onGround = false;File = F;w = W; h = H;image.loadFromFile("images/" + File);image.createMaskFromColor(Color(41, 33, 59));texture.loadFromImage(image);sprite.setTexture(texture);x = X; y = Y;sprite.setTextureRect(IntRect(0, 134, w, h));sprite.setOrigin(w / 2, h / 2);}Напиши примерно так же
-
АвторСообщения
Для ответа в этой теме необходимо авторизоваться.