Несколько вопросов по консоли и выводу инормации.

Программирование на Юнити.

Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 11:08

1) Вот это должно забивать консоль сообщениями "Hello"?
Код: Выделить всё
function Update () {
Debug.Log("Hello");
}

Если да, то все, что я вижу:
Код: Выделить всё
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.GUILayoutUtility.EndLayoutGroup ()
UnityEngine.GUILayout.EndHorizontal ()   (at C:\builds\unity-trunk\unity\Runtime\Export\Generated\GUILayout.cs:143)
UnityEditor.ConsoleWindow.OnGUI ()   (at C:\builds\unity-trunk\unity\Editor\Mono\ConsoleWindow.cs:351)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)

Понятно, что нет экземпляра класса, но это код от разработчиков.

2) Как создать текстовый файл и записать в него что-либо.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 20 апр 2009, 11:44

1. Вы пытаетесь выводить текст 100 раз в секунду. Многовато для нормальной работы консоли.

2. Ищите справку по программированию на JavaScript или C# (MSDN).
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 12:34

Код: Выделить всё
function Start () {
Debug.Log("Hello");
}


Это тоже ничего не выдает в консоль.

З.Ы. В JS работа с файлами только через ActiveX. Придется C# использовать. Я надеялся на API движка.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 20 апр 2009, 12:44

Не, ну меня просто убивает безаппеляционность, простите, глупости. 8-x
Ну откуда такие заявления про ЖабаСкрипт? Пишет он на диски без всяких проблем.
System.IO Содержит все необходимые интерфейсы.
Пример :

Код: Выделить всё
System.IO.Directory.CreateDirectory("MyStupidFolder");
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 12:52

Я извиняюсь за эту кашу, все в консоль отлично пишеться.
%%-
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 14:14

Так, можете меня повесить, но я не понимаю как объеденить простарнство имен UnityEditor и скриптов которые лежат в корне папки Assets. Есть два скрипта на JS:
RScript.js: - этот лежит в Assets.
Код: Выделить всё
import UnityEditor;

var m : Material[];
var mp : new Searching();
var i : Number;

function Start () {
   m = mp.Search ();
   for(i = 0;i <= m.length;i++) {
      Debug.Log(m[i].GetTexture ("_MainTex"));
   }
}


Searching.js: - этот лежит в Assets\Editor.
Код: Выделить всё
public class Searching extends AssetDatabase {

   public function Search () {
      var mats : Material[];
      mats = LoadAllAssetsAtPath ("Assets/Materials/");
      return(mats);      
   }
}


При компиляции первого скрипта я вижу сообщение "Unknown identifier: 'Searching'."
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 20 апр 2009, 17:52

В первом скрипте откуда взялся этот код "import UnityEditor;" ? :-? Он для C#.

Тут должен быть import Searching;


И сам скрипт должен не валяться где попало в Ассетах, а лежать в папке Scripts. (RScript.js), а то и вовсе в Plugins, если он не используется как компонент.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 22:47

Не найдено пространство имен Searching. Даже если кинуть обычный скрипт в папку Scripts, или в Plugins. Я вроде видел способ получить список материалов, не используя AssetsDatabase. Тогда эти траблы исчезнут.

Хотя похоже все равно придеться наследоваться от класса, который принадлжеит к списку Editor.
Последний раз редактировалось wild_r 20 апр 2009, 22:55, всего редактировалось 1 раз.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 20 апр 2009, 22:51

Ну да. Ведь можно не класс наследовать, а просто объявить переменную типа AssetsDatabase. :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 23:26

1) При объявлении переменной. The name 'AssetsDatabase' does not denote a valid type.
2) Нашел похожую функцию: Resources.Load("Assets/Materials/", Material)
Только вот не видит она ничего...
Код: Выделить всё
var mats : Material[] = Instantiate(Resources.Load("Assets/Materials/", Material));

||
\ /
The prefab you want to instantiate is null.

Опс, я ей путь похоже неправильно даю...

Все равно не видит нифига.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 20 апр 2009, 23:37

Description

Loads an asset stored at path in the Resources folder.


Resources.Load грузит только из папки Assets/Resources и его подпапок. Вы когда-нить научитесь читать справку, молчек? :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 20 апр 2009, 23:55

Дамс, я эту строку глазами пробежал и прочитал аля "Грузит из папки проекта". Дамс, спасибо.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 11:09

Собственно последняя попытка.

Код: Выделить всё
function Start() {
   var mats = new Array(Material);
   mats = Instantiate(Resources.Load("bru",Material));
   Debug.Log(mats.length);
}

Возвращяет:
Код: Выделить всё
NullReferenceException: The prefab you want to instantiate is null.
UnityEngine.Object.Instantiate (UnityEngine.Object original)   (at C:\builds\unity-trunk\unity\Runtime\Export\Generated\BaseClass.cs:60)
Searching.Start ()   (at Assets\Scripts\Searching.js:29)


Структура такая: E:\Uniti projects\pripyat\Assets\Resources\bru, в папке лежит несколько материалов.

:((

Похоже забью на консольную отладку...
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 11:15

Еще вопрос: как выпоняються скрипты из папки Editor. Привязать их ни к чему нельзя.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 21 апр 2009, 13:58

В вашем коде есть не только загрузка материала. Так что, указали бы, на какую именно строку ругается Debugger.
При объявлении массива, указывать его тип таким образом, как у вас, или нельзя или точно не нужно. Динамические массивы Array в JavaScript не нуждаются в указании типа.
Вот вы объявили массив. И считаете, что Resources.Load загрузит вам в него как пылесос, всё-всё, что найдётся в папке? :-
Я гружу в одном проекте, текстуры из Resources. Всё работает как часы. Гружу по одной штучке.

Скрипты из папки Editor выполняются как дополнения к Редактору [unity 3D] Юнити. Например : добавляют новые кнопки, новые окна, новые возможности. С их помощью можно сделать встроенный редактор уровней для своих проектов. Кажется название достаточно ясное?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

След.

Вернуться в Скрипты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12