Получение переменной из другого скрипта

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Получение переменной из другого скрипта

Сообщение Dragon-FAST 14 фев 2017, 07:17

Знаю, что таких вопросов очень много... Но у меня просто пишет ошибку.
Текст ошибки:
Assets/scripts/shooter.cs(10,64): error CS0201: Only assignment, call, increment, decrement, and new object expressions can be used as a statement
Вот скрипт:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class shooter : MonoBehaviour {
        public float maxSpeed = 13f;
        private float move = 0;
        public bool isFacing = true;
        public void FixedUpdate()
        {
                GetComponent<SheenaController> ().isFacingRight;
                if (isFacingRight == true) {
        move = 1;
                } else {
        move = -1;
                }
                GetComponent<Rigidbody2D>().velocity = new Vector2 (move * maxSpeed, GetComponent<Rigidbody2D>().velocity.y);
}
}

Подскажите в чём ошибка?
Заранее всем спасибо!))
Аватара пользователя
Dragon-FAST
UNIт
 
Сообщения: 92
Зарегистрирован: 15 авг 2016, 08:29

Re: Получение переменной из другого скрипта

Сообщение greatPretender 14 фев 2017, 07:30

void Start(){
isFacing = GetComponent<SheenaController> ().isFacingRight;

}
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: Получение переменной из другого скрипта

Сообщение Rpabuj1 14 фев 2017, 11:23

Скрипты должны висеть на объектах. То есть, сначала берем объект, потом скрипт на нем, потом переменную.

имя_объекта.getComponent<имя_скрипта>().имя_переменной;
Rpabuj1
Старожил
 
Сообщения: 639
Зарегистрирован: 04 авг 2015, 12:07

Re: Получение переменной из другого скрипта

Сообщение Dragon-FAST 14 фев 2017, 11:59

Rpabuj1 писал(а):Скрипты должны висеть на объектах. То есть, сначала берем объект, потом скрипт на нем, потом переменную.

имя_объекта.getComponent<имя_скрипта>().имя_переменной;

Спасибо получилось как раз по твоей компоновке!))
кому может понадобиться вот мой скрипт:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class shooter : MonoBehaviour {
        public int move = -1;
        public bool lr = true;
        public GameObject sheena;
        public void Start()
        {
                lr = sheena.GetComponent<SheenaController> ().isFacingRight;
                if (lr == true) {
                        move = 1;
                } else {
                        move = -1;
                }
        }
        public void FixedUpdate()
        {
                if (move > 0) {
                        GetComponent<Rigidbody2D> ().AddForce (new Vector2 (20, 0));
                } else {
                        GetComponent<Rigidbody2D> ().AddForce (new Vector2 (-20, 0));
                }
}
        public void Update(){
                Destroy (gameObject, 1);
        }
}
Аватара пользователя
Dragon-FAST
UNIт
 
Сообщения: 92
Зарегистрирован: 15 авг 2016, 08:29

Re: Получение переменной из другого скрипта

Сообщение Rpabuj1 14 фев 2017, 12:25

Dragon-FAST писал(а):
Rpabuj1 писал(а):Скрипты должны висеть на объектах. То есть, сначала берем объект, потом скрипт на нем, потом переменную.

имя_объекта.getComponent<имя_скрипта>().имя_переменной;

Спасибо получилось как раз по твоей компоновке!))
кому может понадобиться вот мой скрипт:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class shooter : MonoBehaviour {
        public int move = -1;
        public bool lr = true;
        public GameObject sheena;
        public void Start()
        {
                lr = sheena.GetComponent<SheenaController> ().isFacingRight;
                if (lr == true) {
                        move = 1;
                } else {
                        move = -1;
                }
        }
        public void FixedUpdate()
        {
                if (move > 0) {
                        GetComponent<Rigidbody2D> ().AddForce (new Vector2 (20, 0));
                } else {
                        GetComponent<Rigidbody2D> ().AddForce (new Vector2 (-20, 0));
                }
}
        public void Update(){
                Destroy (gameObject, 1);
        }
}

Рад, что смог помочь :)
Удачи вам!
Rpabuj1
Старожил
 
Сообщения: 639
Зарегистрирован: 04 авг 2015, 12:07


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 31