Стрельба по клику мыши

SFML и C++ Уроки \ Разработка игр Форумы Логика игр Стрельба по клику мыши

В этой теме 7 ответов, 3 участника, последнее обновление  KindRedSand 1 год, 3 мес. назад.

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #4405

    dKnyaz
    Участник
    Сообщений:0

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

    Репутация:0

    Добрый день. Только учусь писать на С++.

    Задумал небольшой проект стрелялки с видом сверху. Игрок ходит во все стороны и по диагонали. Сделано вращение вокруг самого себя. Реализовал с помощью уроков стрельбу по направлению движения игрока. Но никак не получается сделать что бы он стрелял в сторону клика. В уроке было написано совмещаем 18 урок(движение по клику мыши), и стрельба из 28 урока.

    Принцип понятен. Если нажата кнопка мыши левая -> создается объект пули

    p.state это реализация движения

    Но нам нужно по клику мыши. Попробовал сделать так

    Но я не понимаю как заменить p.state(движение по кнопкам) на нужное мне движение

    Один раз получилось сделать ну мне так кажется, т.к. кликал мышкой на экране. возле персонажа появлялась пуля и зависала. Через какое то время в консоли появлялось сообщение  PRIEHALI. Получается движение заканчивалось. Но пули не видно

    #4596

    pL1uXa
    Участник
    Сообщений:3

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

    Репутация:0

    Знаю, тема давняя, но все же, может быть кто поможет, та же проблема. Сижу уже несколько дней, не могу понять.

    #4597
    +1

    KindRedSand
    Участник
    Сообщений:82

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

    Репутация:30

    Для начала разберитесь как вы вобще заставили всё это работать через select case. По сути вы можете вовсе без него прожить передавая ускорение напрямую с каждой кнопки

    Ну а направить пулю проще простого:

     

    #4598
    +1

    KindRedSand
    Участник
    Сообщений:82

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

    Репутация:30

    //deleted

    #4599

    pL1uXa
    Участник
    Сообщений:3

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

    Репутация:0

    Все равно не могу разобраться :(

     

    Как сюда добавить выстрел? Пробовал сделать как вы написали, ничего не получилось (не достаточно опыта и знаний, только начал). Так же пока не делал общий класс Entities.

    Суть понятна, но как реализовать нет.

    Вот мой код:

    #4602
    +1

    KindRedSand
    Участник
    Сообщений:82

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

    Репутация:30

     

    #4640

    pL1uXa
    Участник
    Сообщений:3

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

    Репутация:0

    Спасибо, сделал правда немного по другому :)
    Появилось время посидеть, посмотреть, подумать. Возникла проблема, сижу уже второй день – скорость снаряда. Если нажимать прямо в спрайте персонажа скорость огромная, чем дальше, тем меньше. У краев окна снаряд движется как черепаха, у персонажа – мгновенно. Я так понимаю, что проблема в расчете вектора. Как это можно исправить?

    #4642
    +1

    KindRedSand
    Участник
    Сообщений:82

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

    Репутация:30

    Возможно беда с нормализацией вектора. Когда мышь находится по отношению к спрайту на расстоянии меньше одного юнита может произойти подобное из за того что мы находим скаляр для приведения длинны вектора к 1 юниту.
    Попробуй заменить мой метод нормализации на этот

     

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

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