Nikolay

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

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • в ответ на: Поворот башни танка #5128
    Nikolay
    Nikolay
    Участник
    Сообщений:4

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

    Репутация:1

    Забыл вконце дописать,что позицию башни задаем на позиции origin/iimage point на спрайте танка без башни. Рисуем по порядку: низ танка, снаряд, башня

    в ответ на: Поворот башни танка #5127
    Nikolay
    Nikolay
    Участник
    Сообщений:4

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

    Репутация:1

    Думаю,тема давно мертва,однако отвечу.

    Вот здесь я задавал вопрос по image points,в итоге сам же ответил.

    https://kychka-pc.ru/Forum/sfml-topic/prilipanie-sprajta-k-sprajtu#post-5124

    Так вот:

    Создаете спрайт танка без башни, на нем origin или image point(ip) в месте крепления башни.

    Задаете инструкции к движению танка.

    затем:

    Создаете спрайт башни танка. На нем origin в месте крепления к танку.

    Если origin point и место вылета снаряда из дула находится на одной прямой – задаете движение башне (ротате на мышь) и спавн-движение снаряда в нужной нормали. При этом сначала рисуете спрайт снаряда,затем спрайт башни

     

    Если origin и дуло не на одной прямой – в месте вылета снаряда создаете image point и спавните снаряды из него. Остальное как выше.

    в ответ на: "Прилипание" спрайта к спрайту #5126
    +1
    Nikolay
    Nikolay
    Участник
    Сообщений:4

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

    Репутация:1

    Итак,решение:

    sf::Vector2f newPoint = sprite.getTransform().transformPoint(pointToTransform);

    Небольшая инструкция по использованию:

    newPoint – условное название точки. При передаче позиции дочернему спрайту(например,оружию) указываем это название вектора. Например: gun.sprite.setPosition(newPoint);

     

    sprite.getTransform() – родительский спрайт(солдат).

    PointToTransform – точка на родительском спрайте. sprite.getOrigin() выступает в роли основы осей.

     

    Долго не мог найти ответ (неделю,где-то). Нашел на офиц форуме на 70+-10 странице:

    https://en.sfml-dev.org/forums/index.php?topic=17116.0

    в ответ на: "Прилипание" спрайта к спрайту #5124
    Nikolay
    Nikolay
    Участник
    Сообщений:4

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

    Репутация:1

    Сразу оговорюсь, что из-за реализации поворотов getOrigin()+n отсекаем

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