Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Stitch Igorek
47 / 47 / 18
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
#1

Вместо отображения спрайта выводится белый квадрат в окне: в чём ошибка? - C++

02.04.2016, 13:19. Просмотров 214. Ответов 2
Метки нет (Все метки)

В чем может быть ошибка? Вместо отображения спрайта выводиться белый квадрат в окне.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <SFML\Graphics.hpp>
 
class test
{
private:
    sf::Sprite sprite;
public:
    test::test()
    {
        sf::Texture texture;
        texture.loadFromFile("images.png");
        sprite.setTexture(texture);
        sprite.setTextureRect(sf::IntRect(0, 0, 100, 100));
    }
    const sf::Sprite getSprite()
    {
        return sprite;
    }
};
 
int main()
{
    sf::RenderWindow window;
    window.create(sf::VideoMode(500, 500), "");
 
    test f;
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
 
        window.clear();
        window.draw(f.getSprite());
        window.display();
    }
 
    return 0;
}
Добавлено через 3 часа 6 минут
Если объявляется и инициализируется спрайт в той же функции, что и окно(в моем случае в мэйне), то все хорошо отрисовывается, но если засунуть этот же спрайт в метод класса, то картинка не отрисовывается, отрисовывается только белый прямоугольник, но размеры и местоположение правильные.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2016, 13:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вместо отображения спрайта выводится белый квадрат в окне: в чём ошибка? (C++):

не выводится текст в окне( - C++
visual studio 2009. File&gt;new project&gt;win32 application dalee v faile s rashireniem .cpp pishu programmu: #include &lt;iostream&gt; ...

Выводится 1.#INF вместо значения - C++
проблема с выводом значения v, должно быть значение в десятичной дроби , а выводится 1.#INF подскажите как исправить #include...

Почему вместо 2 выводится белеберда? - C++
// mamalclass.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

wchar_t. Вместо буквы выводится число - C++
Почему такой результат? #include &lt;iostream&gt; int main() { wchar_t letter=L'Z'; std::cout &lt;&lt; &quot;letter = &quot; &lt;&lt; letter &lt;&lt;...

Выводится адрес переменной, вместо ее значения - C++
Пишу программу просмотра логинов и паролей из хрома. Все работает, за исключением того, что в консоль выводятся, насколько я понял, адреса...

Белый квадрат вместо значка ярлыка - Windows 7
После установки любой программы на рабочем столе появляется ее ярлык но какой то не такой. Снимок прилагается

2
Croessmah
Эксперт CЭксперт С++
13514 / 7673 / 866
Регистрация: 27.09.2012
Сообщений: 18,891
Записей в блоге: 3
Завершенные тесты: 1
02.04.2016, 13:42 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Stitch Igorek Посмотреть сообщение
Вместо отображения спрайта выводиться белый квадрат в окне
где обработка ошибок?
Уверены, что текстура загрузилась или опять на авось?

Добавлено через 1 минуту
Да тут батюшки что...
C++
1
2
3
4
5
6
7
    test::test()
    {
        sf::Texture texture;//после завершения конструктора эта текстура уничтожится и спрайт будет с "висячим" указателем на текстуру.
        texture.loadFromFile("images.png");
        sprite.setTexture(texture);
        sprite.setTextureRect(sf::IntRect(0, 0, 100, 100));
    }
1
Stitch Igorek
47 / 47 / 18
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
02.04.2016, 15:05  [ТС] #3
блин точно, я просто думал, что как определил спрайт, текстура больше не нужна, спасибо=)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2016, 15:05
Привет! Вот еще темы с ответами:

Вместо математической капчи выводится пустой квадрат - PHP
Вместо вывода капчи выводит пустой квадрат captchamath.php: &lt;?php session_start(); $n1 = rand(1, 100); $n2 = rand(1, 100); ...

"Белый проводник" вместо нормального отображения окна - Windows 8, 8.1
Вместо нормального отображения содержимого окна( к примеру &quot;мой компьютер&quot;) открывается окно с именем &quot;Проводник&quot; и в нём ничего не...

Вместо любого Flash ролика — белый квадрат "Ролик не загружен" - Софт
Вместо любого Flash ролика - белый квадрат. ПКМ - надпись &quot;ролик не загружен&quot;. Не работает во всех браузерах. Flash обновлял. На вирусы...

Не выводится результат работы программы решения числового ребуса, в чём ошибка? - Pascal
var b,u,l,o,k,i,m,n,g:integer; begin for b:=1 to 9 do for u:=1 to 9 do for l:=1 to 9 do for o:=1 to 9 do for k:=1 to 9 do for...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru