SFML и C++ Уроки \ Разработка игр › Форумы › Логика игр › Чем больше масса, тем меньше скорость
В этой теме 7 ответов, 3 участника, последнее обновление Павел Букреев 7 года/лет, 11 мес. назад.
-
АвторСообщения
-
Есть такой вопрос.
Нужно вывести формулу “Чем больше масса, тем меньше скорость”
Есть переменная mass, она растет от количества съеденных допустим яблок.
Чем больше яблок игрок съест, тем толще он становится, и тем медленнее он передвигается.
Передвижение игрока сделано на подобие урока 18 https://kychka-pc.ru/sfml/urok-18-sfml-dvizhenie-sprajta-v-mesto-klika-myshi.html
Только я сделал не по клику мыши, а просто игрок всегда следует за курсором.
Не суть в этом..Вот эти строки:
C++12player.x += 0.1*time*(pos.x - player.x) / distance;//идем по иксу с помощью вектора нормалиplayer.y += 0.1*time*(pos.y - player.y) / distance;//идем по игреку так жеКак сюда вписать массу, что бы было так как я хочу?
0.1 это ведь скорость ? так вот и заведи переменную speed и вместо 0.1 её сюда вставляй. а логику уменьшения переменной от веса пропиши в другом месте
“а логику уменьшения переменной от веса пропиши в другом месте”
Так я и прошу формулу вывести)ну съел что то – уменьшил скорость (это если не вводя переменную массы)
ну или : у тебя есть масса m и скорость s
че то съел => масса больше
s=s-m // то есть чем больше масса, тем меньше будет скорость. тебе эта формула нужна?
дистанция х+ = s*time //расстояние = скорость*времятак у меня скорость отрицательной станет
ограничь массу , чтоб не стала
Наверное уже не актуально, но быть может кому-то пригодится.
Первое что пришло в голову – скорость разделить на массу.
player.x += (0.1/M)*time*(pos.x – player.x) / distance;
В таком случае скорость не станет отрицательной.
При желании большей реалистичности, можно заглянуть в учебник по физике)спасибо, кому нибудь пригодится)
-
АвторСообщения
Для ответа в этой теме необходимо авторизоваться.