Проблемы с нажатием спрайта

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics Проблемы с нажатием спрайта

В этой теме 4 ответа, 3 участника, последнее обновление FortT FortT 12 мес. назад.

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

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

    Репутация:2

    Здравствуйте. У меня есть меню в игре. Нажимая на спрайт мышью “играть” происходит очистка экрана и игрок должен выбрать вид игры, который он хочет. После нажатия на один из спрайтов “вид” происходит опять очистка и игрок начинает собирать пятнашки. Вся проблема состоит в том, что координаты спрайта меню “играть” наполовину совпадают с координатами одного из спрайтов вида меню. Что происходит: если нажимать на правую часть спрайта  “играть” то игрок сразу начинает играть – он не попадает в выбор вида потому что компьютер рисует спрайты и автоматически понимает что мышь нажата, и она находится на спрайте “вид” – то есть вид выбирается сразу. Если нажать на левую часть спрайта  “играть” то все в порядке и мы попадаем в меню вида. Пыталась использовать флаги(что бы программа понимала что сейчас меню и можно делать лишь это, а если нажат спрайт играть только тогда активируется меню вида и можно выбирать), но они никак не помогают. На изображении показано что должен показываться вид игры. Но из за нажатия клавиши на место с такими координатами нажимается и первый спрайт меню вида. Скину код если будет нужно. Спасибо

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

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

    Репутация:139

    Покажите нам код.

    #2460
    FortT
    FortT
    Участник
    Сообщений:4

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

    Репутация:2

    Извиняюсь. Проблема решена. Билась над ней 2 недели, не выдержала и написала, и вот все таки получилось)

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

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

    Репутация:103

    Как же решена?)

    #2479
    +1
    FortT
    FortT
    Участник
    Сообщений:4

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

    Репутация:2

    Без дополнительных флагов на каждое новое состояние ничего бы не вышло. Пришлось ставить флаг на то что мышь нажата и она именно в этом состоянии(в классе где идет swith из спрайтов меню). Тогда этот флаг передавался в условие в главной программе где прописано: если этот флаг true и мышь отпущена то мы сбрасываем флаг состояния в котором были, делаем true флаг нового состояния. Ранее пыталась просто сбросить флаг либо задавала условие что мышь отпущено, но это не работает без глобальных флагов.

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

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