legozaur

Созданные ответы форума

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Сообщения
  • в ответ на: Класс многострочного текста #4371

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    2 версия многострочного текста. Теперь он цветной!
    https://kychka-pc.ru/wiki/svobodnaya-baza-znanij-sfml/uroki-sfml/razrabotka-2d-igr/uroki-ot-legozaur/sfsound-sfmusic

    в ответ на: Класс многострочного текста #4286

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    В принципе я уже всё сделал, но как обычно, сорян за говнокод

    а в main как-то так

    Так-же при изменении параметра width и юзе update() можно обновить текст до другой ширины.

    в ответ на: Класс многострочного текста #4285

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    Вставка ‘\n’ в строку решила часть проблемы
    пример:

    допустим у меня есть рабочая область в 200 px, и мне в неё нужно поместить целые слова, а остальные перекинуть на следующую строку и т.д.

     

    в ответ на: секторный Sprite (часть окружности) #1703

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    А что насчёт того, что если спрайт прозрачный, то прозрачность спрайтов складывается, и получается не очень красиво.
    Или это уже другая тема

    в ответ на: секторный Sprite (часть окружности) #1698

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    т.е. повернуть отрисовать, повернуть отрисовать, и т.д.?


    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    Ну я всё ещё раз обдумал, и всё-же, лучше через классы, однозначно, т.к. мне нужны будут координаты орудий, чтобы из них вылетали “патроны”.

    в ответ на: Контейнеры в классе #994
    +1

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

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

    Когда я делал свою игру, то вот так сделал:

    в main.cpp

    game->draw(&window);

    // передаю ссылку на окно

    в Game.cpp

    void Game::draw(sf::RenderWindow *window)
    { // отрисовка игры
    if( numSpaceShip != 0 )
    for(std::vector<SpaceShip*>::iterator it = vecSpaceShip.begin(); it != vecSpaceShip.end(); ++it)
    if( (*it)->getIsActivity() == true )
    (*it)->draw(window);
    }

    // передаю эту же ссылку в экземпляр класса КосмическийКорабль

    SpaceShip.cpp

    void SpaceShip::draw(sf::RenderWindow *window)
    {
    (*window).draw(sprite);

    // а тут получаю окно, и использую метод draw()
    }

    о векторе можете почитать тут http://cppstudio.com/post/8453/

    в ответ на: Загрузка ЦП #788

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

    Всё нормально работает, но такие “лёгкие” игры не должны жрать 20% ЦП на современных компах

    мы тут посоветовались с программистами, и пришли к выводу что это while (window.isOpen()) виноват, т.к. он доимного раз выполняется, что нагружает процессор.

    Мб есть какой вариант типа speep(50) ?

    в ответ на: Загрузка ЦП #778

    legozaur
    Участник
    Сообщений:9

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

    Репутация:1

     

    #include <SFML/Graphics.hpp>

    int main()
    {
    sf::RenderWindow window(sf::VideoMode(200, 200), “Lesson 1. kychka-pc.ru”);
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
    sf::Event event;
    while (window.pollEvent(event))
    {
    if (event.type == sf::Event::Closed)
    window.close();
    }

    window.clear();
    window.draw(shape);
    window.display();
    }

    return 0;
    }

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