Yurec

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

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • в ответ на: Обнаружение персонажа врагом #2162
    +1
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    я зделал через создание круглой формы, радиус которой равен радиусу поражения юнита, дальше
    CircleShape AttackRangeCircle;
    AttackRangeCircle.setRadius(attack_radius);

    установил этот круг в центр моего юнита в команде update(), теперь он будет двигаться с моим юнитом:
    AttackRangeCircle.setPosition(x – AttackRangeCircle.getRadius(), y – AttackRangeCircle.getRadius());//обновляем положение круга который является радиусом атаки обьекта

    и в игровом цикле установил проверку на пересечение с обьектами через функцию:
    if (Object1->AttackRangeCircle.getGlobalBounds().intersects(Object2->sprite.getGlobalBounds()))
    {
    return true;
    }
    когда спрайт объекта2 попадает на форму круга объекта1, функция возвращает true и первый обьект стреляет во второй.

    в ответ на: SF::Event #2155
    +1
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    спасибо за помощь, я нашел проблему. Как оказалось с кодом всё хорошо, проблема была в битых файлах *.dll, заменив их проблема решилась!

    в ответ на: SF::Event #2032
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    потому что движение я поставил на
    if (event.type == sf::Event::MouseButtonReleased)
    {
    ….
    }

    там есть закомменченные строки
    ////не работает по непонятным причинам
    //if (event.type == Event::MouseButtonPressed)//если нажата клавиша мыши
    //{
    // if (event.key.code == Mouse::Left)//а именно левая
    // {
    // std::cout << “pressed\n”;
    // }
    //}
    даже если снять комментирование с них, сигнал не проходит, и в консоль ничего не пишет.
    Мне важна эта функция потому что без неё сложно придумать массовое выделение юнитов в области когда зажав кнопку ты выбираешь всех кто попал в выделенную область, как это происходит в стратегиях.

    в ответ на: SF::Event #2029
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    В общем не решив проблемы своими силами, решил закинуть вам проект.
    Это полигон для экспериментов с SFML для меня, делаю стратегию. причина почему не работает MouseButtonPressed мистически не понятна.
    https://www.hightail.com/download/bXBZeUNETStsUi9IRHNUQw

    в ответ на: SF::Event #1970
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    у меня не воспринимает именно команду sf::Event::MouseButtonPressed, при этом реагирует на sf::Event::MouseButtonReleased
    if (event.type == sf::Event::MouseButtonPressed)//так не работает
    {
    ….
    }

    а так работает:
    if (event.type == sf::Event::MouseButtonReleased)
    {
    ….
    }

    такое поведение лишено всякой логики, может быть проблемма в самом SFML?

    в ответ на: SF::Event #1964
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    if (event.type == sf::Event::MouseButtonPressed)
    {
    std::cout << “выводим чтонибуть\n” //не выскакиевает ни это сообщение
    if (event.mouseButton.button == sf::Mouse::Left)
    {
    std::cout << “выводим чтонибуть\n” //ни это темболие
    }
    }

    не срабатывает ивент на нажатие кнопки мыши, с чем может быть связана проблема?

    в ответ на: Обнаружение персонажа врагом #1818
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    К примеру в определенном радиусе проверять каждую клетку  на пересечение с прямоугольниками объектов из списка?

    в ответ на: Обнаружение персонажа врагом #1805
    Yurec
    Yurec
    Участник
    Сообщений:8

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

    Репутация:2

    Реально в SFML сделать проверку не через  Rect, а через круг? к примеру стратегия где у юнита радиус поражения не прямоугольный, а круглый?

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