Почему я не могу повернуть направо и двигаться вперед двумя персонажами одновременно?C#

Место общения программистов C#
Anonymous
Почему я не могу повернуть направо и двигаться вперед двумя персонажами одновременно?

Сообщение Anonymous »

Я новичок в Unity и просто скопировал у кого-то код, поэтому не до конца его понимаю, но и не понимаю, что не так. Я делаю небольшую игру для двух игроков. Единственный код, который у меня есть, — это заставить символы двигаться, но вот в чем проблема: когда я нажимаю для перемещения вперед и вправо одновременно обоими символами, последний ввод просто не будет работать. Это происходит только в этих двух направлениях.
Вот код:

Код: Выделить всё

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class movement : MonoBehaviour
{
public Rigidbody player;
public float m_speed, rotatespeed;

void FixedUpdate()
{
if (Input.GetKey(KeyCode.W))
{
player.velocity = transform.forward * m_speed * Time.deltaTime;
}

if (Input.GetKey(KeyCode.S))
{
player.velocity = -transform.forward * m_speed * Time.deltaTime;
}
}

void Update()
{
if (Input.GetKey(KeyCode.A))
{
transform.Rotate(0, -rotatespeed * Time.deltaTime, 0);
}

if (Input.GetKey(KeyCode.D))
{
transform.Rotate(0, rotatespeed * Time.deltaTime, 0);
}
}
}
И:

Код: Выделить всё

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
public Rigidbody player;
public float m_speed2, rotatespeed2;

void FixedUpdate()
{
if (Input.GetKey(KeyCode.I))
{
player.velocity = transform.forward * m_speed2 * Time.deltaTime;
}

if (Input.GetKey(KeyCode.K))
{
player.velocity = -transform.forward * m_speed2 * Time.deltaTime;
}
}

void Update()
{
if (Input.GetKey(KeyCode.J))
{
transform.Rotate(0, -rotatespeed2 * Time.deltaTime, 0);
}

if (Input.GetKey(KeyCode.L))
{
transform.Rotate(0, rotatespeed2 * Time.deltaTime, 0);
}
}
}
Я просто не знаю, что я могу сделать, и любой совет будет полезен. );
Я просмотрел код, но понятия не имею, что не так.

Подробнее здесь: https://stackoverflow.com/questions/790 ... rs-at-once

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