Воскресенье, 17 Ноября 2024, 10:52

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • OmletteДата: Четверг, 18 Июля 2013, 15:38 | Сообщение # 4301
    частый гость
    Сейчас нет на сайте
    NEBR, черт, не выходит почему-то. Мб напишешь, буду очень признателен.

    Добавлено (18.07.2013, 15:38)
    ---------------------------------------------
    Я провел эксперимент, если создам статическую переменную в одном скрипте и получу ее в другом, то когда эту переменную изменю в главном скрипте, ее значение не меняется во втором скрипте. Как-то так:

    1-й скрипт scriptwithvar
    Код

    static public int test = 39;


    2-й скрипт:

    Код

    static int _test = scriptwithvar.test; //Теперь значение _test = 39.



    Меняю в scriptwithvar значение на 40, однако во втором скрипте остается 39... Как так?


    Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

    Сообщение отредактировал Omlette - Четверг, 18 Июля 2013, 15:38
    allodsДата: Четверг, 18 Июля 2013, 17:30 | Сообщение # 4302
    почти ветеран
    Сейчас нет на сайте
    а ты обратно отсылаешь то данные о переменной ?
    KiraДата: Четверг, 18 Июля 2013, 17:32 | Сообщение # 4303
    заслуженный участник
    Сейчас нет на сайте
    Omlette, ты создаешь 2ю переменную, но не ссылку на первую.

    Unity3d разработчик на С#. Лучшее спасибо + в репу.
    "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов".
    "Человек, который никогда не ошибался никогда не пробовал ничего нового".
    "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
    OmletteДата: Четверг, 18 Июля 2013, 20:22 | Сообщение # 4304
    частый гость
    Сейчас нет на сайте
    Kira, тогда как сделать ссылку на первую..? Что-то не врубаюсь

    Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

    Сообщение отредактировал Omlette - Четверг, 18 Июля 2013, 20:23
    E][pertДата: Четверг, 18 Июля 2013, 20:47 | Сообщение # 4305
    C#-XNA-Unity
    Сейчас нет на сайте
    Omlette, зачем тебе статистическая переменная? лол

    Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
    Tower defence in processing... For Web/iOS/Android.
    AdomДата: Четверг, 18 Июля 2013, 20:52 | Сообщение # 4306
    Печенька!
    Сейчас нет на сайте
    Блиинн помогите как вызывать объект на сцену при входе в триггер ?
    E][pertДата: Четверг, 18 Июля 2013, 20:54 | Сообщение # 4307
    C#-XNA-Unity
    Сейчас нет на сайте
    Adom, что означает вызывать? Создавать новый?

    Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
    Tower defence in processing... For Web/iOS/Android.
    OmletteДата: Четверг, 18 Июля 2013, 21:23 | Сообщение # 4308
    частый гость
    Сейчас нет на сайте
    E][pert, как зачем? Чтоб получать ее значение извне.

    Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
    AdomДата: Четверг, 18 Июля 2013, 22:22 | Сообщение # 4309
    Печенька!
    Сейчас нет на сайте
    E][pert,Да просто не правильно выразился =)
    AlastarДата: Четверг, 18 Июля 2013, 22:38 | Сообщение # 4310
    постоянный участник
    Сейчас нет на сайте
    Omlette, вообще-то это организовывает public, а не static(Если честно, я и сам пока не пойму зачем нужен static).

    Big Boobs (+18 only!)
    lentinantДата: Пятница, 19 Июля 2013, 00:10 | Сообщение # 4311
    ленивый программист
    Сейчас нет на сайте
    Alastar, особенность public - эти переменные можно менять с редактора. В референсе объявление глобальных переменных приписывают именно к static (использовать отдельный от public модификатор целесообразно, если вам не нужно менять переменную со скрипта, и вы не хотите, чтобы при настройке скрипта в редакторе были лишние компоненты). Правда, он почему-то не пашет без public, во всяком случае, на шарпе. Для вышеуказанной цели (сделать доступ к переменной другого класса, не делая ее public) я могу посоветовать использовать public функции, которые попросту возвращают нужное значение.

    Когда-то тут будут ссылки на крутые проекты. Или нет.
    E][pertДата: Пятница, 19 Июля 2013, 00:21 | Сообщение # 4312
    C#-XNA-Unity
    Сейчас нет на сайте
    Omlette, к сожалению я сам внятно себе в голове не могу сформулировать зачем нужен static но он явно не для тех целей для которых ты хочешь его использовать. Например в классе так обозначается то свойство которое будет одинаковым для всех объектов класса.
    Adom,
    Код
    GameObject go=new GameObject(); //new object
    go.transform.position=new Vector(0,0,0); //position for new game object

    Добавлено (19.07.2013, 00:21)
    ---------------------------------------------
    lentinant, вы не правы

    Цитата (lentinant)
    особенность public - эти переменные можно менять с редактора

    Unity3d это инструмент который использует язык C# и нельзя проводить параллель таких зависимостей.


    Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
    Tower defence in processing... For Web/iOS/Android.
    KiraДата: Пятница, 19 Июля 2013, 09:15 | Сообщение # 4313
    заслуженный участник
    Сейчас нет на сайте
    static статичная т.е независимая постоянна переменная. Она не исчезает при удалении объекта, и ее данные не теряються.
    Можно использовать счетчиком, например:
    class T
    {
    static int count;

    public T()
    {
    count+=1;
    }
    }
    У всех классов T переменная count будет одинаковой.
    public - Это модификатор доступа, т.е к ней можно обратиться из любого скрипта.
    а private - уже закрытый, и может использоваться только внутри класса.


    Unity3d разработчик на С#. Лучшее спасибо + в репу.
    "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов".
    "Человек, который никогда не ошибался никогда не пробовал ничего нового".
    "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
    OmletteДата: Пятница, 19 Июля 2013, 10:48 | Сообщение # 4314
    частый гость
    Сейчас нет на сайте
    Я прочитал 400 страниц Шилдта (учебник с#) и никак не могу применять полученные знания в юньке. Не понимаю когда нужно ограничивать доступ к методам, переменным, свойствам (сделать их readonly), когда юзать интерфейсы, наследование, индексаторы и т.п. А и еще не понимаю когда нужно создавать объекты класса.... В написании игровых скриптов, мне кажется все совсем по-другому и я запутываюсь.
    А за ответы спасибо, буду пробовать.

    П.С. На сколько я помню, как было в книге написано


    Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

    Сообщение отредактировал Omlette - Пятница, 19 Июля 2013, 10:51
    E][pertДата: Пятница, 19 Июля 2013, 11:53 | Сообщение # 4315
    C#-XNA-Unity
    Сейчас нет на сайте
    Omlette, да в написании скриптов есть свои нюансы. Просто больше практикуйся, пиши код. Со временем вещи начнут прояснятся.

    Помогаю по мере возможностей, учусь по мере сил. ©E}{pert
    Tower defence in processing... For Web/iOS/Android.
    OmletteДата: Пятница, 19 Июля 2013, 14:29 | Сообщение # 4316
    частый гость
    Сейчас нет на сайте
    [Удалено]

    Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

    Сообщение отредактировал Omlette - Пятница, 19 Июля 2013, 14:32
    Fr0sTДата: Пятница, 19 Июля 2013, 16:44 | Сообщение # 4317
    постоянный участник
    Сейчас нет на сайте
    Пишу чтобы персонаж поворачиался в сторону движения следующее
    Quaternion rotation= Quaternion.LookRotation(moveDirection);
    А он мне в консоли это пишел когда верктор нулю равен
    Look rotation viewing vector is zero
    UnityEngine.Quaternion:LookRotation(Vector3)
    controller:Update() (at Assets/scripts/controller.cs:271)
    Что мне сделать чтобы он это не писал?




    AdomДата: Пятница, 19 Июля 2013, 20:22 | Сообщение # 4318
    Печенька!
    Сейчас нет на сайте
    Помогите не могу разобраться в управление в мультиплеере.
    Мне нужно было чтобы сервер не управлял клиентом.Я слышал что это делается через isMine
    но у меня ничего не получается вот скрипт управления.
    var Player : GameObject;
    var isMine : boolean;
    // Use this for initialization
    // Update is called once per frame
    function Update () {
    if(Input.GetKey(KeyCode.W))
    if(isMine){
    Player.rigidbody.AddForce(0,0,1 * 1);
    }
    //
    if(Input.GetKey(KeyCode.S))
    if(isMine){
    Player.rigidbody.AddForce(0,0,-1 * 1);
    }
    }
    White9Дата: Пятница, 19 Июля 2013, 20:42 | Сообщение # 4319
    заслуженный участник
    Сейчас нет на сайте
    Fr0sT, а ты moveDirection задаёшь в таком виде "vector3 (0,0,0)"? )
    Adom, лучше делай проверку при старте. Например, вот так
    Код
        public void Awake()
         {
             if (!networkView.isMine)
             {
                 enabled = false;
             }
         }

    Цитата (Adom)
    var isMine : boolean;

    Есть метод (или как он там называется) "networkView.isMine" и булеву переменную isMine для него объявлять не нужно )
    AdomДата: Пятница, 19 Июля 2013, 21:03 | Сообщение # 4320
    Печенька!
    Сейчас нет на сайте
    White9,Сделать то сделал но только главный игрок (сервер) стоит на месте, и я могу управлять только клиентом.
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг