SF::Text

В этой теме 14 ответов, 3 участника, последнее обновление Dallon Avery Dallon Avery 8 года/лет, 9 мес. назад.

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Сообщения
  • #1149
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Начал тут разбирать этот SFML2.1 и тут же влетел в тупик.

    Проблема вот в чём: я пытаюсь вывести надпись на экран самым простым доступным способом –  Text text(“SFML text”); и конечно же window.draw(text);

    Однако VS2012 подчёркивает мне мой стринг как показано на скрине.

    PS:

    #include <SFML/Graphics.hpp>
    #include <SFML/System.hpp>
    using namespace sf;

    Вложения:
    You must be logged in to view attached files.
    #1151
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:582

    Зарегистрирован:
    04.01.2015

    Репутация:106

    Ты не можешь нарисовать текст , не используя шрифт. смотрел 12 урок?

    #1152
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Интересно, но некоторые рисуют текст без всяких шрифтов, например в этом видео парниша делает то, что пытался сделать я: http://www.youtube.com/watch?v=dS6hpo0etaI

    Смотри 1:00 – 1:40

    #1153
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    А вот код из другого туториала:

    источник(https://riseagain.wordpress.com/2012/07/15/sfml-2-tutorial-introduction/)

    #include <SFML\System.hpp>
    #include <SFML\Graphics.hpp>

    using namespace sf;

    int main()
    {
    VideoMode videoMode(320,240);
    RenderWindow window(videoMode,”Hello Text”);

    Text text(“Hello \nSFML 2 \nWorld!”);
    text.setPosition(20,10);
    //text.setColor(Color::Red);

    while (window.isOpen())
    {
    window.clear();
    window.draw(text);
    window.display();

    Event event;
    while (window.pollEvent(event))
    {
    if ( (event.type == Event::Closed) ||
    ((event.type == Event::KeyPressed) && (event.key.code==Keyboard::Escape)) )
    window.close();

    }
    }
    return EXIT_SUCCESS;
    }

    #1154
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:582

    Зарегистрирован:
    04.01.2015

    Репутация:106

    точно) просто я всегда шрифты использовал свои, т.к там кириллицу скорее всего не нарисуешь. скинь свой код (исп кнопку вставки кода)

    #1155
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

     

    #1156
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:582

    Зарегистрирован:
    04.01.2015

    Репутация:106

    не знаю почему, но работает только с тремя параметрами конструктора Text ( пример выше ). Можешь попробовать для интереса скачать старый сфмл (тот урок с ютуба загружен в 2011г и тогда была версия меньше чем 2.0 точно).

    #1157
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Ясненько, буду знать теперь.

    #1161
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Я уже не знаю, что делать, опять проблема со шрифтом.

    Исходный код (игра понг):

    И скрин с ошибкой

    Вложения:
    You must be logged in to view attached files.
    #1164
    Heisenberg
    Heisenberg
    Участник
    Сообщений:320

    Зарегистрирован:
    01.04.2015

    Репутация:146

    У меня такие ошибки выдавал, когда я пытался создать объекты классов самого SFML в глобальной области. Но файл с ассемблером он мне не показывал оО, аж самому интересно что это такое)

    #1166
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:582

    Зарегистрирован:
    04.01.2015

    Репутация:106

    хм. не вижу косяка.. напиши код более проще, используя лишь один текст. просто закомментируй, например.
    соответствующая dll ка в которой вылазит исключение – у тебя имеется в проекте?

    #1171
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Что значит проще?

    И ещё, он ругается именно на применение шрифта (30-32строка), причём фальм со шрифтом лежит там где надо.

    #1172
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Update: я заменил все случаи вывода текста на экран с помощью шрифта на вывод текста в консоль через обычный cout, про ведение счёта я не запаривался. Как не трудно догадаться всё работает как часы. Так что подтвердилось, что проблема только с использованием шрифта и выводом текста на экран. в SFML для этого есть Font и Text соответственно, только вот в чём конкретно проблема я не знаю

    #1174
    Heisenberg
    Heisenberg
    Участник
    Сообщений:320

    Зарегистрирован:
    01.04.2015

    Репутация:146

    в 2.0 таких проблем не встречал.

    #1206
    +2
    Dallon Avery
    Dallon Avery
    Участник
    Сообщений:21

    Зарегистрирован:
    03.07.2015

    Репутация:5

    Проблема решена. Напомню, в чём она заключалась: программа отказывалась использовать шрифты и выводить текст на экран, выдавая следующую ошибку: SFML (32-bit VS12) – Unhandled exception at 0x701ADEF8 (msvcr110.dll) in SFML.exe: 0xC0000005: Access violation reading location 0x0526. LoadFromFile.

    Как оказалось такая хрень возникает из-за путаницы sfml-библиотек в Debug и Release модах. Собственно, чтобы исправить данный касяк нужно в пропертях проекта в Debug указать библиотеки с суффиксом -d, а для релиза оставить без суффикса.

    Таким образом, библиотеки дебага выглядят так:

    sfml-main-d.lib
    sfml-system-d.lib
    sfml-graphics-d.lib
    sfml-window-d.lib

     

    Источник решения проблемы по ссылке здесь.

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)

Для ответа в этой теме необходимо авторизоваться.