@bolnovnoge

Почему не работает передвижение объекта в Unity?

Есть объект (игрок), на нем Rigidbody2d, BoxCollider2d, есть ещё объект (платформа), на ней BoxCollider2d. Следующий код висит на игроке: Почему игрок по нажатию пробела не прыгает? Ошибка в коде или что-то в редакторе выключено? Помогите пожалуйста
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
 
public class Move : MonoBehaviour 
{ 
 Rigidbody2D rb; 
 
 void Start() 
 { 
  rb = GetComponent<Rigidbody2D> (); 
 } 
 
 void Update() 
 { 
 if (Input.GetKeyDown (KeyCode.Space)) 
  { 
   jump(); 
  } 
 } 
 
 void jump() 
 { 
  rb.AddForce(transform.up * 14f, ForceMode2D.Impulse); 
 } 
}
  • Вопрос задан
  • 725 просмотров
Пригласить эксперта
Ответы на вопрос 1
DIEMONIC
@DIEMONIC
Попробуй потыкать настройки Rigidbody2d - совершенно случайно там может быть выключена физика вовсе или конкретно физика гравитации. Если не поможет - найди стандартный ассет юнити с 2д роботом (внутри юнити правое кнопкой мыши в ассетах - импорт пакета - персонажи (characters)), там полностью реализовано движение (но к сожалению, сделано слишком заумным и разобрать его может быть тяжело, зато работает)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы