Функция отбрасывания моей 2D -файтинги не работаетC#

Место общения программистов C#
Ответить
Anonymous
 Функция отбрасывания моей 2D -файтинги не работает

Сообщение Anonymous »

Я изолировал код движения и код отключения, потому что проблема, по -видимому, является конфликтом между ними. < /p>
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.InputSystem;

public class TestMove : MonoBehaviour
{
public float horizontal;
public float speed = 8f;
public bool canMove;
public bool isFacingRight = true;
public Rigidbody2D rb;

// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
canMove = true;
rb = GetComponent();
}

// Update is called once per frame
void Update()
{
Flip();

if (Input.GetKey(KeyCode.A)) {
horizontal = -1;
}
else if (Input.GetKey(KeyCode.D)) {
horizontal = 1;
}
if (Input.GetKeyUp(KeyCode.A) || Input.GetKeyUp(KeyCode.D))
{
horizontal = 0;
}
}

private void FixedUpdate()
{
if (canMove) {
rb.linearVelocity = new Vector2(horizontal, rb.linearVelocity.y) * speed;
}
}

private void Flip()
{
if ((isFacingRight && horizontal > 0f || !isFacingRight && horizontal < 0f) && canMove)
{
isFacingRight = !isFacingRight;
Vector3 localScale = transform.localScale;
localScale.x *= -1f;
transform.localScale = localScale;
}
}

public void HitDone()
{
canMove = true;
}

public void OnTriggerEnter2D(Collider2D col) {
if (col.tag == "ForcePunch") {
canMove = false;
Invoke("HitDone", 0.6f);
rb.AddForce(transform.up * 100);
rb.AddForce(transform.forward * 300);
}
}
}
< /code>
Я попытался изменить то, как собираются входы и используя rb.linearvelocity.x * горизонтальный, чтобы получить движение вдоль оси X, но на данный момент я много пробовал и не знаю, что делать

Подробнее здесь: https://stackoverflow.com/questions/794 ... nt-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»