Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Сообщение отредактировал Kira - Среда, 14 Ноября 2012, 21:36
вот пару моих вопросов. 1) Сериализация. Сам процесс мне примерно понятен. Так мы например сохраняем состояние класса в файл. Это по шарпу. Но что делает эта запись? Что измениться? [SerializeField]public Rect edOptionsWindow=new Rect(5,5,150,250);
2) Как мне запомнить положение окна в окне редактора.
Code
Переменная размера окошка. [SerializeField]public Rect edOptionsWindow=new Rect(5,5,150,250); //Создаю окно редактора. static void Init () { TileSet TileSetWindow = (TileSet)EditorWindow.GetWindow (typeof(TileSet)); } void OnGUI{ // так я создал второе окошко. BeginWindows (); edOptionsWindow=GUI.Window(1,edOptionsWindow,OptionsWindow,edNameWindow); EndWindows (); void OptionsWindow(int id) { GUI.DragWindow(); // Окошко может перемещаться } }
Как мне запомнить положение окна edOptionsWindow? Пробовал сериализацию, но видимо не правильно.
Добавлено (14.11.2012, 23:20) --------------------------------------------- Как же мне сохранить сериализацию в файл? Сдесь хоть кто нибудь разбирается?
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
for (int t=0;t<sprs.Length;t++) { sprites[t]=sprs[t].name;
Debug.Log(sprites[t]); }
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
IIyxMASTER, присоединяюсь не вижу смысла в 4ке, если только не гуй. И что нибудь для мобилок. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
i>0 я не чего не упускаю? если true цикл продолжиться, он у тебя бесконечный. может : i<maxLevels; Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
IIyxMASTER, JHawk, 1) Ошибка в аргументах, наверно что то напутал. 2) Что то про не существующий position, наверно не объявлен.
какой вопрос такой и ответ. Мы не можем знать что ты написал, но ошибки юня и без нас тебе выдала. Что ты хотел этим получить Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
- Использовать ранее опубликованные проекты или заранее созданные наработки.
А мне просто интересно, программисты всегда используют наработки. Как же тогда быть? Например маперы, скрипты тп. а ведь могу и не сказать что использовал. Или например купленный плагин. Я так на будущие. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Kira, Зачем ты ему помогаешь быдлокодить. Ну какой дурак делает оружие коллайдерами?
Что то я не понимаю, мне не пришлось дойти до данного этапа, не прет мне на контент :(. А если знаешь что, тогда чего молчишь ? расскажи почему не делают колайдерами ? Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
LunarPixel, тогда это конкурс для "конструкторных" игр. Жаль. Посмотрел бы я на тех кто будет велосипедить 2D функцианал к юнити. Потом еще напишет вспомогательные скрипты к редактору, и только потом сможет делать игру.
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
[MenuItem("Window/My windows")] Что это за команды в скобках? Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Причем тут юнити? Это ошибка кода, он такой же как и на С++. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
FoReVeR, тогда установи 3д макс поновее. Юня должна конвертировать максовские модельки.
Добавлено (15.11.2012, 17:21) --------------------------------------------- в максе можно самому сохранить модель в FBX.
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Урок 1: Создание окна. Создадим свое окно редактора, которое может свободно перемещать и может быть закреплено в виде вкладки Для начала поучимся создавать собственные окна. Это не трудно.
Создадим скрипт С# : MyWindow.cs и поместим в папку Editor
Code
using UnityEngine; using System.Collections; using UnityEditor; // Добавим пространство имен Редактора
public class MyWindow : EditorWindow {
[MenuItem("Window/My windows")] // Добавит в меню нашу функцию. Поэтому писать ее нужно перед главной функцией вызова окна.
static void Init() // Функция должна быть static { MyWindow MyWindow window=(MyWindow)EditorWindow.GetWindow(typeof(MyWindow),false,":)Win"); }
}
вот на всякий случай описание функции: static function GetWindow (t : System.Type, utility : boolean = false, title : String = null, focus : boolean = true) : EditorWindow
Если выбрать в меню: Window/My windows, то мы увидим пустое окно.
Не будем далеко отходить от темы и добавим 2е окно. Создадим переменную Rectэто будет размер и положение нашего 2го окна. Rect rWindow = new Rect (20, 20, 300, 300);//Window
В функции OnGUI() произведем вызов нашего окошка.
void OnGUI() { BeginWindows(); rWindow=GUI.Window(0,rWindow,WinFunc,"2@Window"); EndWindows(); } Описание функции static function Window (id : int, clientRect : Rect, func : WindowFunction, text : String) :Rect
Обратите внимание на WinFunc, это имя функции которое будет вызываться 2м окном. Поэтому ее тоже нужно добавить.
void WinFunc(int winID) { if(winID==0) // Эту функцию может вызывать несколько окон, различать их можно по ID. GUI.DragWindow();// Эта функция позволит перемещать окно мышкой. }
Весь код:
Code
using UnityEngine; using System.Collections; using UnityEditor; using System.Collections.Generic;
public class MyWindow : EditorWindow { Rect rWindow = new Rect (0, 20, 300, 300);//Window [MenuItem("Window/My windows")] static void Init () { MyWindow window = (MyWindow)EditorWindow.GetWindow (typeof(MyWindow), false, ":)Win"); }
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Сообщение отредактировал Kira - Четверг, 15 Ноября 2012, 16:53
Vector3.Distance - с заглавной буквы. position - Ни где не объявлена.
объяви Vector3 position;
public class MouseLookPlus : MonoBehaviour { public Transform target; Vector3 position; // прям где то здесь и напиши. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Сообщение отредактировал Kira - Четверг, 15 Ноября 2012, 19:05
lipis, а головой думать? какой там символ может быть? Даже подумать лень вам. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Kira, уже написал. ПИШЕТ ЧТО ИНПУТА НЕТ! может кто нибудь даст этот скрипт в правильном исполнении?
Quote (JHawk)
Assets/MouseLookPlus.cs(58,36): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Distance(UnityEngine.Vector3, UnityEngine.Vector3)' has some invalid arguments
Assets/MouseLookPlus.cs(61,25): error CS0103: The name `position' does not exist in the current context
Конкретно 2 ошибки, которые я тебе и указал. Какой еще импут.
Kira, символ где? Я просто уже нифига не соображаю! Из за камеры не могу доделать игру
Это не тебе было адресованно. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Ищешь там:Mouse ScrollWheel name:Mouse ScrollWheel Type: mouseMovement Axis: 3rdAxis(joy and Scroll) Sensetiviti: 0.1 Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
x += Input.GetAxis("MouseX")*xSpeed; y -= Input.GetAxis("MouseY")*ySpeed;
Если еще и для MouseY и MouseX, тогда сделай так:
x += Input.GetAxis("Mouse X")*xSpeed; y -= Input.GetAxis("Mouse Y")*ySpeed; Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Суть в том что в ковычках ты пишем имя и оно чувствительно к пробелам. В настройках импута,name: Mouse Y с пробелом. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
Срочно требуются экстрасенсы, как нас найти знаете сами. Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн