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

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

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

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

02.04.2016, 13:19. Просмотров 176. Ответов 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 минут
Если объявляется и инициализируется спрайт в той же функции, что и окно(в моем случае в мэйне), то все хорошо отрисовывается, но если засунуть этот же спрайт в метод класса, то картинка не отрисовывается, отрисовывается только белый прямоугольник, но размеры и местоположение правильные.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2016, 13:19     Вместо отображения спрайта выводится белый квадрат в окне: в чём ошибка?
Посмотрите здесь:

В чём ошибка???((( C++
не выводится текст в окне( C++
в чём ошибка? C++
Почему вместо 2 выводится белеберда? C++
Указатели, почему выводится строка вместо символа? C++
C++ wchar_t. Вместо буквы выводится число
C++ В чём ошибка?
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка C++
C++ В чём ошибка?
C++ Два раза выводится слово вместо одного
C++ Неожиданное поведение программы: вместо вывода суммы чисел, на консоль всё время выводится ноль (цикл while)
C++ Выводится 1.#INF вместо значения

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,457
Записей в блоге: 2
Завершенные тесты: 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));
    }
Stitch Igorek
 Аватар для Stitch Igorek
45 / 45 / 18
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
02.04.2016, 15:05  [ТС]     Вместо отображения спрайта выводится белый квадрат в окне: в чём ошибка? #3
блин точно, я просто думал, что как определил спрайт, текстура больше не нужна, спасибо=)
Yandex
Объявления
02.04.2016, 15:05     Вместо отображения спрайта выводится белый квадрат в окне: в чём ошибка?
Ответ Создать тему
Опции темы

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