Как сделать обмен переменными между скриптами в Unity C#?
Привет! Да, довольно глупый вопрос, но я обшарил весь интернет...
Правда, ничего не нашел.
Что имеем?
Имеем первый код, привязанный к кнопке (отдельному объекту в канвасе)
И второй, который по задумке, должен принимать значение определенной переменной, и перемещать объект.
По идее, в первом, по нажатию, будет присваиваться значение 1 к определенной переменной, а второй код, будет проверять значение этой переменной.
И так, вопрос:
Как сделать обмен переменными между скриптами в Unity C#?
K0TlK, вряд-ли вам даст что-то этот код, но если может помочь
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class forward : MonoBehaviour
{
public float speed = 50;
GameObject Player;
static int google = 0;
// Start is called before the first frame update
void Start()
{
Debug.Log ("forward работает");
Player = (GameObject)this.gameObject;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
google++;
}
}
public void fixedupdate()
{
}
}
Qerriom Magnelius, Тебе нужно из другого компонента получить значение google? Не нужна тебе здесь статика. В другом компоненте объяви поле типа forward и в инспекторе перенеси объект с нужным скриптом в поле. Что-то типа этого:
public class Forward : MonoBehaviour
{
public int Google { get; private set; }
}
public class Component : MonoBehaviour
{
[SerializeField] private Forward _firstComponent;
private void Sample()
{
Debug.Log(_firstComponent.Google);
}
}