alon_mix
@alon_mix
1

Как вызвать переменную из другого класса?

Переменная из другого класса и они(2 этих скрипта) лежат на разных обьектах.
public class GameController : MonoBehaviour {    
public float HealthWall = 100;

Другой класс
GameObject go = GameObject.Find("Wall");
         WallHp wallHp = go.GetComponent<WallHp>();
         float courrentSpeed = wallHp.HealthWall;

Ошибка: CS1061 'GameObject" не содержит определения для "HealthWall" и не удалось найти метод расширения "HealthWall", принимающий тип "GameObject" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
  • Вопрос задан
  • 1343 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
у вас так и не понятно какую переменную из какого скрипта вы хотите вызвать.!?

и второй кусок кода - не класс, а просто пару строчек

но в общем то случае..если вам нужна глобальная переменная сделайте

public static float HealthWall = 100;
тогда сможете обращаться к ней GameController.HealthWall из любого скрипта

если же хочется не статичными переменными..то или читайте про синглтон (может вам под архитектуру подойдет)
или просто банально ищите через Find или FindObjectOfType - объект с нужным скриптом (если они у вас в сцене)

пока вообще не понятно что куда вы хотите "дернуть" и зачем..отсюда вытекает что толком и не понятно - что вам подсказать)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы