Как создать статический класс или метод?

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

Как создать статический класс или метод?

Сообщение djtoryx 30 апр 2013, 22:59

Вообщем нужно чтоб класс был доступен во всех частях всех скриптов. Как такое можно запилить?
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение djtoryx 30 апр 2013, 23:00

Синтаксис:
Используется csharp
public class NewBehaviourScript : MonoBehaviour
{

    public float Speed = 5;
    public GameObject obj;
    float Sx, Sz;
    Vector3 pos;
    void Start()
    {


    }

    void Update()
    {
        pos = gameObject.transform.position - obj.transform.position;
        if (Math.Abs(pos.x) > 1 && Math.Abs(pos.z) > 1)
        {

            Sx = pos.x / pos.z * Speed * Time.deltaTime;
            Sz = pos.z / pos.x * Speed * Time.deltaTime;
            if (gameObject.transform.position.x > obj.transform.position.x && Sx > 0)
            {
                Sx = -Sx;
            }
            if (gameObject.transform.position.z > obj.transform.position.z && Sz > 0)
            {
                Sz = -Sz;
            }
            if (gameObject.transform.position.x < obj.transform.position.x && Sx < 0)
            {
                Sx = -Sx;
            }
            if (gameObject.transform.position.z < obj.transform.position.z && Sz < 0)
            {
                Sz = -Sz;
            }
            gameObject.transform.Translate(Sx, 0, Sz);
        }
    }
}
 

Если кому интересно что за код.
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение waruiyume 30 апр 2013, 23:11

Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как создать статический класс или метод?

Сообщение djtoryx 30 апр 2013, 23:13

waruiyume писал(а):http://msdn.microsoft.com/ru-ru/library/98f28cdx.aspx

Я знаю как создать статический класс, я не знаю как это реализовать на unity в разный файлах.
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение waruiyume 30 апр 2013, 23:15

Щито?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как создать статический класс или метод?

Сообщение djtoryx 30 апр 2013, 23:20

waruiyume писал(а):Щито?

Мне нужно запилить один метод, допустим "test1()" класса "TEST" в один скрипт.
И во втором классе "TEST2" вызвать "TEST.test1()" как статичный. Как это сделать в unity?
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение DbIMok 01 май 2013, 00:00

так и сделать. дописать к методу static, вызвать
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать статический класс или метод?

Сообщение Рэндом 01 май 2013, 06:01

Создать обычный скрип Юнити. Прописать в нем пространство имен. Не прикреплять его к гейм объектам. В других скриптах использовать директиву using.
Аватара пользователя
Рэндом
UNIверсал
 
Сообщения: 485
Зарегистрирован: 02 июн 2012, 04:06

Re: Как создать статический класс или метод?

Сообщение djtoryx 01 май 2013, 15:01

Рэндом писал(а):Создать обычный скрип Юнити. Прописать в нем пространство имен. Не прикреплять его к гейм объектам. В других скриптах использовать директиву using.

Спасибо, а как вызывать свой метод таким образом : "gameObject.test1(obj);"
Смысл метода, чтоб gameObject передвигался к другому объекту.
test1(GameObject obj) мой метод.
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение Nicloay 01 май 2013, 15:09

If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: Как создать статический класс или метод?

Сообщение djtoryx 01 май 2013, 15:22

Nicloay писал(а):http://wiki.unity3d.com/index.php?title=Singleton

там всё на английском =(
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение Woland 01 май 2013, 15:48

пишешь класс public static и метод public static. и все
Woland
Адепт
 
Сообщения: 1240
Зарегистрирован: 20 апр 2013, 18:09
  • Сайт

Re: Как создать статический класс или метод?

Сообщение djtoryx 02 май 2013, 17:05

Woland писал(а):пишешь класс public static и метод public static. и все

Как мне сделать дочерний класс для GameObject? Чтоб можно было таким образом вызывать мой метод "gameObject.test1();"
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

Re: Как создать статический класс или метод?

Сообщение DbIMok 02 май 2013, 17:59

проще изучить язык (C#) и компонентную модель юнити, чем пытаться переделать все под свое представление. то есть в принципе, можно удовлетворить "хотелки" вида gameObject.test1(); но это будет неправильно. GameObject это стержень пирамидки. на него "одеваются" разные компоненты, в том числе наши классы/скрипты. части скриптов (переменные, методы) принадлежат "кружкам" компонентам а не gameObject'у "стержню". можно расширить класс GameObject методом test1(), но тогда он будет у всех GameObject'ов. имеет ли это смысл в вашем случае?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать статический класс или метод?

Сообщение djtoryx 02 май 2013, 18:52

DbIMok писал(а):проще изучить язык (C#) и компонентную модель юнити, чем пытаться переделать все под свое представление. то есть в принципе, можно удовлетворить "хотелки" вида gameObject.test1(); но это будет неправильно. GameObject это стержень пирамидки. на него "одеваются" разные компоненты, в том числе наши классы/скрипты. части скриптов (переменные, методы) принадлежат "кружкам" компонентам а не gameObject'у "стержню". можно расширить класс GameObject методом test1(), но тогда он будет у всех GameObject'ов. имеет ли это смысл в вашем случае?

Да, надо. Так как это сделать? И можно пример или хотяб как это называется...
Параметры: test1(GameObject gameObject, GameObject obj, float Speed);
А вызывается так : test1(gameObject,trololo,10);
и gameObject там будет прописан всегда. И постоянно писать как то не правильно.
djtoryx
UNец
 
Сообщения: 25
Зарегистрирован: 19 мар 2013, 19:07

След.

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

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

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