Я работаю над 2D-игрой Unity, в которой вы можете переключаться между разными персонажами и перемещать их, когда у вас под контролем и, когда они не контролируют, они ведут себя по-своему.Например: у меня есть два символа лоли, а другой поп.Главный герой Лоли, и вы можете перемещать ее, как вам угодно.Но что, если вам нужно куда-то двигаться, потому что есть враг, которого она не знает.Таким образом, игрок нажимает на поп, перемещает ее так же, как вы могли бы с лоли, и вы можете вернуться к управлению лоли, нажав обратно на лоли.Чтобы сделать это, мне нужно, чтобы каждый персонаж прочитал сценарий управления плеером и следовал тому, что он говорит, и они читали его только в том случае, если игрок нажал кнопку «loli» или «pop».Обратите внимание, что лоли является персонажем по умолчанию, поэтому, когда игра начинается, она контролируется игроком, если игрок не нажимает на кнопку «поп».Дело в том, что я знаю, как это сделать только на C, python и lua, а не на C #.Так как мне это сделать?Сделать метод в коде игрока и сказать другим, чтобы он ссылался на него?
код игрока
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class user : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
public int move = 5;
private int acceleration = 2;
public int Acceleration { get => acceleration; set => acceleration = value;
}
// Update is called once per frame
void Update()
{
if(Input.GetKey(KeyCode.W))
{
transform.position = Vector2.up * move * Input.GetAxis("Vertical");
}
if (Input.GetKey(KeyCode.S))
{
transform.position = Vector2.down * move * Input.GetAxis("Vertical");
}
if (Input.GetKey(KeyCode.D))
{
transform.position = Vector2.right * move * Input.GetAxis("Horizontal");
}
if (Input.GetKey(KeyCode.A))
{
transform.position = Vector2.left * move * Input.GetAxis("Horizontal");
}
}
}
код Лоли
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class loli : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
/*
* read user.cs. until another character has been selected
* then I'll do my own thing :D
* Until I get clicked on D:
*/
}
}
код поп:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class pop : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
/*
* if i have been clicked on,
* read user.cs.
* else, do my own thing :D
*/
}
}