#c# #visual-studio #unity3d #game-engine #game-physics
Вопрос:
Это мой сценарий движения:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float MovementSpeed = 5f;
public Animator animator;
public float fallMultiplier = 2.5f;
public float lowJumpMultiplier = 2f;
Rigidbody2D rb;
// Start is called before the first frame update
void Start()
{
}
void Awake()
{
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
float Horizontal = Input.GetAxisRaw("Horizontal");
Vector2 pos = transform.position;
pos.x = Horizontal * MovementSpeed * Time.deltaTime;
transform.position = pos;
animator.SetFloat("Speed", Horizontal);
if (rb.velocity.y < 0)
{
rb.velocity = Vector2.up * Physics2D.gravity.y * (fallMultiplier - 1) * Time.deltaTime;
}
else if (rb.velocity.y > 0 amp;amp; !Input.GetButton("Jump"))
{
rb.velocity = Vector2.up * Physics2D.gravity.y * (lowJumpMultiplier - 1) * Time.deltaTime;
}
}
}
когда я нажимаю пробел, ничего не происходит. но другое движение работает, когда я нажимаю a или d. я пробовал несколько сценариев прыжков, но все они не работают. я должен добавить больше деталей, потому что у меня много кода, но мне больше нечего сказать, поэтому я просто наберу это bs.
Комментарии:
1. Чтобы отредактировать, настроить или удалить кнопки и их названия (например, «Fire1»): 1. Перейдите в меню «Правка» > «Настройки проекта» > «Диспетчер ввода», чтобы открыть диспетчер ввода. Проверьте документацию
2. в списке уже есть место, но оно все еще не работает
3. получаете ли вы какие — либо ошибки в консоли? есть ли у вашего плеера
PlayerMovement
компоненты Rigidbody2D и a?4. никаких ошибок, и к нему прилагаются оба
Ответ №1:
Я не совсем уверен, понял ли я, является ли этот сценарий оригинальным?
- если да, можете ли вы поделиться источником?
- если нет, можете ли вы сообщить нам, как вы интегрировались?
Мне кажется, что вы хотели бы иметь: Input.GetButton("Jump")
вместо: !Input.GetButton("Jump")