Пятница, 19 Апреля 2024, 21:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Длинна прыжка (2D платформер)
Длинна прыжка (2D платформер)
Vasiliy_IvanovichДата: Среда, 18 Ноября 2015, 00:38 | Сообщение # 1
был не раз
Сейчас нет на сайте
Друзья, подскажите как сделать так, чтобы длинна прыжка в 2д платформере с использованием физики зависела от времени удержания клавиши прыжка, т.е. если нажал и быстро отпустил, то герой прыгнул не высоко, если нажал и удерживаешь, то герой летит пока не отпустишь клавишу. Я так полагаю, что сила должна действовать на протяжении всего времени удержания клавиши, а вот как ее задать не знаю. В справке копался, ничего не нашел. Сейчас использую такой метод:
Код
rigidbody2D.AddForceAtPosition (transform.right * 1200, mouseGlob);
NovaSurferДата: Среда, 18 Ноября 2015, 01:14 | Сообщение # 2
частый гость
Сейчас нет на сайте
Код

if (Input.GetButton("Jump"))
    {
       rigidbody2D.velocity = new Vector2(1, 1); // Летим вправо вверх
    }


Мой блог - infcode.com

Сообщение отредактировал NovaSurfer - Среда, 18 Ноября 2015, 01:17
TymonrДата: Среда, 18 Ноября 2015, 07:45 | Сообщение # 3
With OpenSource forever
Сейчас нет на сайте
NovaSurfer, только лучше вектор все же нормализовать и домножать на значение прыжка

Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы.
Как правильно задавать вопросы в технических форумах
NEBRДата: Среда, 18 Ноября 2015, 10:34 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Vasiliy_Ivanovich, без rigidbady не пробовал? Например transform.Translate(Vector3.up)... И привязать его к нажатию мышки
Код

public float speedJump = 5;

void Update()
{
if(Input.GetMouseButtonDown(0)
{
     transform.Translate(Vector3.up * speedJump * Time.deltaTime);
}
}


King Size #Gamiron12

Сообщение отредактировал NEBR - Среда, 18 Ноября 2015, 10:35
Vasiliy_IvanovichДата: Четверг, 19 Ноября 2015, 14:14 | Сообщение # 5
был не раз
Сейчас нет на сайте
NovaSurfer, Спасибо. Он конечно летит, но как-то уж очень медленно, падает гораздо быстрее.
Tymonr, а что означает нормализовать вектор?
NEBR, rigidbody использую исключительно ради гравитации. Сейчас попробую без него.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Длинна прыжка (2D платформер)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг